【发布时间】:2012-02-10 12:02:13
【问题描述】:
我正在开发一个 Iphone/Ipod 应用程序,我在其中使用 AVAudioPlayer。我正在通过滑块更改音频音量,该滑块工作正常,但现在我必须通过按下设备加号和减号按钮来更改(增加/减少)滑块,而不是自己更改滑块。当我按下设备的加号/减号按钮时,不知道控制在哪里?有谁知道,欢迎帮忙。
【问题讨论】:
标签: iphone objective-c ios ipod
我正在开发一个 Iphone/Ipod 应用程序,我在其中使用 AVAudioPlayer。我正在通过滑块更改音频音量,该滑块工作正常,但现在我必须通过按下设备加号和减号按钮来更改(增加/减少)滑块,而不是自己更改滑块。当我按下设备的加号/减号按钮时,不知道控制在哪里?有谁知道,欢迎帮忙。
【问题讨论】:
标签: iphone objective-c ios ipod
如何访问硬件音量控制器?
全球系统体积,包括您的应用程序的体积,由 iPhone OS 处理,应用程序无法访问。
这是链接,请阅读here 希望对你有帮助:)
【讨论】:
这个问题对我来说并不完全清楚,但您似乎想要在系统音量发生变化时收到通知?如果是这样,这是可能的,我希望我能正确理解你的问题。以下怎么样:
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[[NSNotificationCenter defaultCenter]
addObserver:self
selector:@selector(volumeChanged:)
name:@"AVSystemController_SystemVolumeDidChangeNotification"
object:nil];
}
- (void)volumeChanged:(NSNotification *)notification
{
float volume =
[[[notification userInfo]
objectForKey:@"AVSystemController_AudioVolumeNotificationParameter"]
floatValue];
// Do stuff with volume
}
我是从 here 那里得到的,Sandy 的回答。
【讨论】:
大满贯,谢谢大家!我已经搜索过了。这对 MPMusicPlayer 有效,但对 AVAudioPlayer 无效。 你可以做到的。
MPMusicPlayerController *_musicController = [MPMusicPlayerController iPodMusicPlayer];
但对于 AVAudioPlayer 来说不是这个,
AVAudioPlayer *_audioController = [AVAudioPlayer iPodMusicPlayer];
【讨论】: