我需要你的帮助和建议,如何增加/减少音量.谢谢
解决方法 我会小心在MPVolumeVIEw上调用setValue,因为它可能不会更新滑块的外观,而不是实际的设备音量级别.你必须调用_commitVolumeChange这是私有API,并可能会让你的应用程序被拒绝.一个简短的答案如何控制音量:这真的取决于你想要控制的音量.
如果你想要一个“控制应用程序中的每个声音”的控制,那么你可以使用MPVolumeVIEw,但是你不能以编程方式更改它的值.然后,您只能通过触摸滑块或使用设备侧面的音量按钮来更改音量.最好的做法是创建一个全局对象,用于存储任何对象在播放声音之前可以读取的音量.
如果它是一个AVAudioPlayer对象,您将创建该对象并使用[theAudioPlayerObject setVolume:somefloat];其中somefloat是0.0到1.0之间的值.
如果是SystemSound对象,则无法控制音量.
如果是AudioQueue,您可以通过AudioQueueSetParameter更改它
就像我说的,这一切都取决于你是如何演奏声音的.
更新基于评论
For that particular example,你可以这样设置音量:
Add to the AudioStreamer.h file
- (voID)setVolume:(float)Level;
Add to the AudioStreamer.m file
- (voID)setVolume:(float)Level{ Osstatus errorMsg = AudioQueueSetParameter(audioQueue,kAudioQueueParam_Volume,Level); if (errorMsg) { NSLog(@"AudioQueueSetParameter returned %d when setting the volume.",errorMsg); }}
Add to the vIEw controller for where the volume knob will be (this goes in the .m file.. i just dID this as a couple UIbuttons real quick,you’ll have to do your own) and set up an IBAction to change the volume for a given value (you can pass in 0.0 thru 1.0 as a float)
- (IBAction)volumeUp:(ID)sender{ [streamer setVolume:1.0];}- (IBAction)volumeDown:(ID)sender{ [streamer setVolume:0.0];}总结
以上是内存溢出为你收集整理的更改音量没有一个iPhone上的音量滑块全部内容,希望文章能够帮你解决更改音量没有一个iPhone上的音量滑块所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)