如何使用 UISlider 控制 iOS 系统音量

Posted

技术标签:

【中文标题】如何使用 UISlider 控制 iOS 系统音量【英文标题】:how to Control iOS system Volume using a UISlider 【发布时间】:2015-09-16 06:50:46 【问题描述】:

我有一个音乐播放器应用程序,我想通过 UISlider 控制系统音量我该怎么做?我搜索了谷歌和堆栈溢出,但它显示了与MPMusicPlayerControllerMPVolumeView 相关的内容,这太不容易理解了。有没有它的API。请帮忙。

【问题讨论】:

【参考方案1】:

我喜欢新学习者...为您提供简单的答案...

首先在您的 StoryBoard 中创建一个UIView,您想在其中放置音量滑块。 现在在您的 ViewController 实现中为该视图创建一个 IBOutlet

例如:

@property (nonatomic,strong) IBOutlet UIView* volumeView;

现在在viewDidLoad 方法中编写以下代码:

MPVolumeView *mpVolumeView = [[MPVolumeView alloc]initWithFrame:self.volumeView.bounds];
[self.volumeView addSubview:mpVolumeView];
[mpVolumeView sizeToFit];

现在您可以在应用中控制音量...

注意:此代码不适用于模拟器。

干杯。

【讨论】:

【参考方案2】:

根本不需要 API。

如果您是初学者,您应该通过 Apple 文档中的 MPVolumeView。一切都在那里详细给出。看看就好。

上面写着:

使用音量视图向用户显示滑块控件 设置系统音频输出音量,以及一个选择按钮 音频输出路径。首次显示时,滑块的位置 反映当前系统音频输出音量。当用户拖动 滑块,更改会更新音量。如果用户按下设备 音量按钮在播放声音时,滑块移动以反映 新卷。

【讨论】:

【参考方案3】:

不需要 API。这就是重点。 MPVolumeView 只是工作。它是一个控制系统音量的滑块。制作一个,贴在界面上,完成。

【讨论】:

【参考方案4】:

MPVolume 视图应该可以完成这项工作。以下是几个例子:

ios 7: MPMusicPlayerController volume deprecated. How to change device volume now?

https://developer.apple.com/library/ios/documentation/MediaPlayer/Reference/MPVolumeView_Class/

但如果您需要自定义界面:

 // Set the value of slider to system volume control
 [[MPMusicPlayerController systemMusicPlayer] setVolume:self.mySlider.value];

可能你还需要使用这个:

 // Set it somewhere in your code
 [self.moviePlayer setUseApplicationAudioSession:YES]; // this generates a depreciation warning

【讨论】:

以上是关于如何使用 UISlider 控制 iOS 系统音量的主要内容,如果未能解决你的问题,请参考以下文章

如何在使用 UISlider 更改音量时隐藏 Iphone 音量框?

如何将 iOS 滑块值限制为整数?

如何将音频播放器的音量控制与本地通知的声音联系起来?

如何控制/强制 iOS 系统音量 [cordova]

如何控制 iPhone 系统音量? [关闭]

匹配 UIToolBar 中的 MPVolumeView 和 UISlider 垂直位置