【问题标题】:AVPlayer volume slider controlAVPlayer 音量滑块控制
【发布时间】: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

标签: iphone ios objective-c volume avplayer


【解决方案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)
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多