AVPlayer 音量滑块控制
Posted
技术标签:
【中文标题】AVPlayer 音量滑块控制【英文标题】:AVPlayer volume slider control 【发布时间】:2013-07-30 13:35:21 【问题描述】:由于 AVPlayer 中的 URL,我有一个应用程序可以在其中流式传输收音机:
NSURL *myURL = [NSURL URLWithString:urlString];
AVPlayer *player = [[AVPlayer alloc]initWithURL:myURL];
self.player = player;
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(playerItemDidReachEnd:)
name:AVPlayerItemDidPlayToEndTimeNotification
object:[self.player currentItem]];
[self.player addObserver:self forKeyPath:@"status" options:0 context:nil];
[self.player play];
我想要的是有一个滑块来控制音量。我知道使用 AVAudioPlayer 很容易,因为有一个属性,但没有 AVPlayer。
我怎么能这样做?我是否必须像看到 there 那样使用 AVAsset,以及如何使用(因为我现在根本不在我的代码中使用它们)?
谢谢大家!
【问题讨论】:
你可以看看 MPVolumeView 【参考方案1】:您必须使用 UISlider valueChanged: 操作中指定的音量创建 AVMutableAudioMix。像这样的:
- (IBAction) sliderValueChanged:(UISlider *)sender
AVMutableAudioMixInputParameters *audioInputParams =
[AVMutableAudioMixInputParameters audioMixInputParameters];
[audioInputParams setVolume:sender.value atTime:kCMTimeZero];
AVMutableAudioMix *audioMix = [AVMutableAudioMix audioMix];
[audioMix setInputParameters:@[audioInputParams]];
[[player currentItem] setAudioMix:audioMix]; (from a UISlider valueChanged action)
【讨论】:
以上是关于AVPlayer 音量滑块控制的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Mac 的 xcode 中为 AVPlayer 制作音量滑块