【发布时间】:2014-02-24 16:14:03
【问题描述】:
我有一个广播流媒体 AVPlayer,我创建了一个滑块来控制播放器的音量。
-(void)adjustVolume
{
if (self.player != nil)
{
NSLog(@"Adjusting volume...");
self.player.volume = volumeControl.value;
NSLog(@"%f",self.player.volume);
}
}
我需要将滑块中的值连接到按下音量按钮时的值。例如,如果我将滑块移动到 50%,然后按下手机侧面的音量增大按钮,我需要将其从 50% 增大,因为这是我通过滑块设置的音量。
我该怎么做?
稍后编辑:
使用此代码,我在按下音量键时设法更新了滑块,但我无法再拖动滑块,因为它总是随系统音量更新。
audioSession = [AVAudioSession sharedInstance];
BOOL ok;
NSError *setCategoryError = nil;
ok = [audioSession setCategory:AVAudioSessionCategoryPlayback error:&setCategoryError];
volume = audioSession.outputVolume;
volumeControl.value = volume;
NSTimer *volumeTimer = [NSTimer scheduledTimerWithTimeInterval:0.01 target:self selector:@selector(updateSound) userInfo:nil repeats:YES];
还有更新声音:
- (void)updateSound{
volume = audioSession.outputVolume;
volumeControl.value = volume;
}
如何在移动滑块时更改系统音量?我试图给 audioSession.outputVolume 一个值,但当然,它不是那样工作的。
【问题讨论】:
-
所以@Merlevede 建议的代码根本不起作用..什么都不做。有什么方法可以使用滑块影响系统音量?我完全没有想法..
标签: ios iphone objective-c avplayer volume