我希望用户能够使用滑块来改变系统音量,我意识到唯一的方法是使用 MPVolumeView。
但我找不到任何示例代码,而且我尝试实现的每种方法都不起作用。
那么,使用 MPVolumeView 实现最简单、正确、有效的方法是什么?
我希望用户能够使用滑块来改变系统音量,我意识到唯一的方法是使用 MPVolumeView。
但我找不到任何示例代码,而且我尝试实现的每种方法都不起作用。
那么,使用 MPVolumeView 实现最简单、正确、有效的方法是什么?
UIView
,然后使用检查器将类设置为 MPVolumeView
(确保还链接了 MediaPlayer 框架)。它在 IB 中仍将显示为常规滑块,但在运行时,它将是 MPVolumeView
的实例,并具有必要的样式和行为。请注意,这在 iOS 模拟器中可能无法按预期工作,因为该模拟器不允许音量控制。使用此功能即可自动获取
mpVolumeViewParentView.backgroundColor = [UIColor clearColor];
MPVolumeView *myVolumeView = [[MPVolumeView alloc] initWithFrame: mpVolumeViewParentView.bounds];
[mpVolumeViewParentView addSubview: myVolumeView];
[myVolumeView release];
iOS 13有所变化。在IB中添加一个类为MPVolumeView
的滑块不再起作用,因此原先被接受的答案不再适用。
正确的方法如苹果文档所述,在IB中使用UIView
,然后在代码中将MPVolumeView
添加为子视图。
以下是Swift示例:
// myVolumeViewParentView is the UIView you put in IB
let myVolumeView = MPVolumeView(frame: myVolumeViewParentView.bounds)
myVolumeViewParentView.addSubview(myVolumeView)
这种方法在 iOS 12 中也适用。