【问题标题】:How to turn off audio in MPMoviePlayerController iPhone如何关闭 MPMoviePlayerController iPhone 中的音频
【发布时间】:2011-08-17 13:30:47
【问题描述】:

如何关闭和打开 MPMoviePlayerController 的音频。我试过 useApplicationAudioSession 这个属性,即使它不起作用。你能帮帮我吗?

【问题讨论】:

    标签: iphone


    【解决方案1】:

    我只想在 2016 年的讨论中补充一点,以这种方式静音音频在 Xcode 8 中仍然有效。请注意,我使用 NSUserDefaults 来跟踪用户是否打开了侧面开关:

        // Mute audio depending on side switch state
        if ([[NSUserDefaults standardUserDefaults] boolForKey:@"RINGER_IS_ON"]) {
            [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil]; // Ignore the side swicth - play audio
        } else {
            [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:nil]; // Respect the side switch - don't play audio
        }
    

    【讨论】:

      【解决方案2】:

      回答永远不会太晚,对吧?我也在寻找一种方法来做这件事,我花了一段时间才找到正确的链接。

      首先请注意 useApplicationAudioSession 现在 (iOS 6) 已弃用

      设置环境音频会话将防止在其他应用中停止 audo

      在代码中的某处设置: [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:nil];

      这是文档 https://developer.apple.com/library/ios/documentation/AVFoundation/Reference/AVAudioSession_ClassReference/index.html

      这里是解释 https://developer.apple.com/library/ios/documentation/Audio/Conceptual/AudioSessionProgrammingGuide/Introduction/Introduction.html

      https://developer.apple.com/library/ios/documentation/Audio/Conceptual/AudioSessionProgrammingGuide/Introduction/Introduction.html

      在我的例子中,将类别设置为 AVAudioSessionCategoryAmbient 就可以了!

      【讨论】:

        【解决方案3】:

        检查最后一行

        useApplicationAudioSession
        

        一个布尔值,指示电影播放器​​是否应使用应用程序的音频会话。

        @property (nonatomic) BOOL useApplicationAudioSession
        

        讨论

        此属性的默认值为 是的。将此属性设置为 NO 导致电影播放器​​使用 系统提供的音频会话 不可混合播放类别。

        重要提示:在 iOS 3.1 及更早版本中,电影播放器​​始终使用 系统提供的音频会话。到 在 iOS 3.2 中获得相同的行为 和更新的,你必须设置这个 财产价值为 NO。

        当此属性为 YES 时,电影 播放器共享应用程序的音频 会议。这使您可以控制 电影播放器​​内容如何交互 使用您的音频和来自 其他应用程序,例如 iPod。 有关使用此功能的重要指导 功能,请参阅“使用电影和 iPod 音乐”在音频会话中 编程指南。

        更改此属性的值 不影响当前播放 电影。为了新的设置 效果,您必须停止播放并 然后重新开始。

        [[MPMusicPlayerController applicationMusicPlayer] setVolume:(use a value between 0.0 and 1.0)]
        

        如果您的MPMoviePlayerController 使用应用程序音频会话,这应该调整音量。但是使用它时要小心..这是一种解决方法

        【讨论】:

        • 我正在使用 IOS 4.2 和 videoPlayer = [[MPMoviePlayerViewController alloc] initWithContentURL:videoURL]; [videoPlayer 电影播放器​​].useApplicationAudioSession = NO; [self.viewVideo addSubview:videoPlayer.view];请指教我哪里错了。
        • 将此属性设置为 NO 会导致电影播放器​​使用系统提供的具有不可混合播放类别的音频会话。
        • 我设置了这两个属性,即使音量没有改变。 [[MPMusicPlayerController applicationMusicPlayer] setVolume:0.0]; [videoPlayer moviePlayer].useApplicationAudioSession = NO;
        • 如果要使用[[MPMusicPlayerController applicationMusicPlayer] setVolume:0.0];必须设置[videoPlayer moviePlayer].useApplicationAudioSession = YES;
        猜你喜欢
        • 1970-01-01
        • 2010-12-14
        • 1970-01-01
        • 1970-01-01
        • 2015-08-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多