objective-c - 设置单独的应用程序音量控制

标签 objective-c macos cocoa

如何控制应用程序的输出音量。

我有一个使用 https://github.com/mattgallagher/AudioStreamer 的应用程序从互联网传输 mp3 文件。 AudioStreamer 类无法更改输出音量,而且我不想更改系统音量。

许多应用程序都会这样做:

  • iTunes
  • Spotify
  • MPlayerX
  • 大多数音频播放器

编辑:如果您听说过 AudioStreamer,我已经改用 Apple 的 AVPlayer,我发现它更简单、更优越。音量调节也很简单!

最佳答案

AudioStreamer 我猜大多数 OSX 媒体播放器都使用 AudioToolbox 框架。 AudioToolbox 使用名为 AudioQueue 的编程接口(interface)来播放媒体文件。下面是使用 AudioQueue 调节音量的方法。

AudioQueueSetParameter(audioQueue, kAudioQueueParam_Volume, 0.5);
  • audioQueue 是一个 AudioQueRef
  • kAudioQueueParam_Volume 告诉 AudioQueueSetParameter() 更改音量参数
  • 0.5 是 0.0 - 1.0 之间的音量

有关 AudioQueue 的更多详细信息:https://developer.apple.com/library/mac/#documentation/MusicAudio/Reference/AudioQueueReference/Reference/reference.html

关于objective-c - 设置单独的应用程序音量控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12636235/

相关文章:

ios - 模态视图中的 UIButton 通过 UIToolBar 通过 UITabBar 未检测到触摸

ios - 带有 UIKeyboardType.NumberPad 和非数字文本的 UITextField

macos - MAC OS X Yosemite Apache localhost/~用户名/不工作

macos - 为什么系统调用不起作用?

macos - NSViewController 引用循环与 Storyboard

iphone - iPhone中图像的加密和解密算法?

iphone - 如何在多人游戏中同步数据(game-center ios)

cocoa - 在 Cocoa 中将 NSString 转换为等值货币的最简单方法

iphone - NSThread 和 UIViewController 交互

ios - glColorPointer iOS Open GL ES 不工作?