【问题标题】:Can MPMoviePlayerController have volume programmatically adjusted?MPMoviePlayerController 可以通过编程方式调整音量吗?
【发布时间】:2011-04-11 20:49:37
【问题描述】:

我有这个 MPMovePlayerController 和一个自定义滑块(这不是一个滑块,但它具有相同的目的)。考虑到我的“滑块”可以返回我需要的任何浮点值,我怎样才能改变播放电影的音量?

到目前为止,我已经尝试破解 MPVolumeView 以编程方式设置一个值,但没有成功。

【问题讨论】:

    标签: mpmovieplayercontroller core-audio volume


    【解决方案1】:

    iOS 3.0 - 7.0

    原来是这样

    [[MPMusicPlayerController applicationMusicPlayer] setVolume:<insert float here>];
    

    适用于应用程序中的任何声音,即使是 MPMoviePlayerController,如果它正在使用主音频会话。 O,它仅适用于设备,不适用于模拟器。更多信息在这里: https://developer.apple.com/documentation/mediaplayer/mpmusicplayercontroller?language=objc


    更新

    音量在 iOS 7.0 中已弃用。

    "要提供调整系统播放音量的 UI,请使用 MPVolumeView 类,它提供 iOS 用户期望的媒体播放控件,并且您可以自定义其外观。" Deprecated MPMusicPlayerController Volume Method

    【讨论】:

    • 您的解决方案没有意义。您要求在 MPMoviePlayerController 上设置音量,但您发布的 MPMusicPlayerController 的属性不是 MPMoviePlayerController 继承的。
    • 我同意乍一看它们并不相关,但如果 MPMoviePlayerController 使用共享音频会话,则 MPMusicPlayerController 对其具有音量控制。我也没想到会这样。
    • 是的,你是对的。与我的解决方案相比,这实际上可能是更好的选择,因为它不会在未来的 iOS 更新中轻易破坏。
    • 更新:iOS 7.0 中不推荐使用音量。 “要提供调整系统播放音量的 UI,请使用 MPVolumeView 类,该类提供 iOS 用户期望的媒体播放控件,并且您可以自定义其外观。” Deprecated MPMusicPlayerController Methods
    【解决方案2】:
    [[MPMusicPlayerController applicationMusicPlayer] setVolume:<insert float here>];
    

    将更改设备的音量,而不是媒体播放器的音量,因此任何其他音频或视频流也会受到影响。

    【讨论】:

    • 这应该是评论,而不是答案,因为它与 Tudorizer 的答案相同..
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-30
    • 1970-01-01
    • 1970-01-01
    • 2010-09-13
    相关资源
    最近更新 更多