【问题标题】:Sound Not Playing In iOS - Not A Source Code ProblemiOS 中无法播放声音 - 不是源代码问题
【发布时间】:2010-08-10 11:32:04
【问题描述】:

我想在我的应用程序中播放声音。没什么特别的,只是一个小 WAV 文件。该文件存在于我的主包中的设备中,并且我已经添加了 AVFoundation 和 AudioToolbox 框架。我交替尝试使用它们,测试网络上的每一点示例代码以播放这种声音。它行不通。那么考虑到文件存在并且代码 sn-p 可能不是问题,还有什么可能是错误的?

  1. 与进口有关吗?我在文件顶部为框架导入了必要的 .h 文件。
  2. 我注意到其中一种方法要求有一个实现特定协议的委托。这是必要的吗?有些例子需要它,有些则不需要。我需要为此实施什么?
  3. 这无法在设备和模拟器上播放声音。我是否忽略了其他问题?

【问题讨论】:

  • 您是否在计算机上播放过声音以确保其正常工作?声音文件只是静音吗?你的音量调低了吗? iPhone 是否处于静音模式?
  • 不,一切都好。声音文件在机器上播放,而 iPad 的音量却大大提高了。我现在只是检查初始化。 audioPlayer 初始化时没有错误,但在我尝试对其进行 toString 时声称其“数据”为 (null)。
  • 您应该在答案中添加配置 AVAudioPlayer 的代码。如果问题不在于文件,它就会存在。

标签: iphone audio ios


【解决方案1】:
Is it to do with imports? 

没有。导入问题在构建时会很明显。

我注意到其中一种方法 要求有一个代表 实现一个特定的协议。是 这有必要吗?

没有。 AVAudioPlayer 委托是可选的。

这无法同时播放声音 设备和模拟器。我有没有 忽略了其他东西?

最可能的解释是文件没有被正确引用。或者,该文件可能是非标准格式,播放器会默默地窒息它。尝试使用其他文件类型进行测试。

【讨论】:

  • 天哪,一个 mp3 文件有效。我猜 WAV 只是以一种不太好的方式或其他方式编码。血腥无声的窒息。为什么他们不能像其他人一样大声地发出声音!谢谢!
  • 无声的失败是邪恶的。在这种情况下,由于文件的数据块偏移值不正确,播放器很可能将文件解释为空。因为有一个空的数据块并不违法,所以玩家没有抱怨。
【解决方案2】:

就我今天而言,mp3 在模拟器上运行良好(在 iTunes 和我测试过的其他地方),但在设备上却不行。我将 mp3 转换为 aif,它在设备上运行良好。

我知道这比答案更值得评论,但我缺乏评论的代表。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多