【问题标题】:iOS audio file not playing in a desktop web browseriOS 音频文件无法在桌面网络浏览器中播放
【发布时间】:2015-10-12 10:58:29
【问题描述】:

为什么 Safari/Chrome 无法播放使用 AVAudioRecorder 创建的文件?

这是我的录音机设置:

private static let settings = [
        AVFormatIDKey: NSNumber(unsignedInt: kAudioFormatMPEG4AAC),
        AVNumberOfChannelsKey: 2,
        AVSampleRateKey: 44100,
        AVEncoderBitRateKey: 128000,
        AVEncoderAudioQualityKey: NSNumber(long: AVAudioQuality.Max.rawValue)
    ]

还有读者:

<audio controls>
  <source src="MD_31E5106A-2901-49ED-8492-D29A654B826D" type="audio/mp4">
</audio>

我尝试了几个设置,都没有成功。所有文件都可以用 VLC 播放。

这是一个示例文件:http://cl.ly/1l0z231x322l

编辑:阅读器代码

【问题讨论】:

  • 你检查过视频的编解码器吗?提及您的视频的编解码器
  • AVNumberOfChannelsKey 键的值应该是 1 而不是 2,因为您只录制单声道音频文件。另请以.aac 扩展名保存文件。
  • 我也试过 1 个频道。

标签: ios html avaudiorecorder


【解决方案1】:

如果我们有 URL 的扩展名,它就可以工作

recordURL = recordURL.URLByAppendingPathExtension("m4a") 
recorder = try AVAudioRecorder(URL: recordURL, settings: AudioRecorder.settings)

【讨论】:

  • 所以这是一个 404 问题?
  • 不,我不知道为什么,但是如果我们将记录保存为带有扩展名的文件,网络浏览器可以播放它。即使您在保存记录后删除扩展名。
  • 所以教训是:不要保存没有文件扩展名的记录
  • 很奇怪 - 但是如果文件没有扩展名,src="test.m4a" 如何工作而不是 404?
  • 事实上我虽然如果我有一个扩展它会播放但没有。我将编辑问题。
【解决方案2】:

更新

您的文件是CAF/Core Audio Format,AAC/caf 的支持范围甚至不如 AAC/m4a(甚至 iTunes 都不播放 caf 文件)。

您可以尝试将其转换为 .m4a 并使用内容类型 audio/mp4 或将其转换为 .aac 并使用 audio/aac

或.mp3 audio/mpeg

以前

AAC/m4a 不是被广泛支持的格式。你最好使用 MP3。

【讨论】:

  • 我在 AAC 中获得了一些音乐。所有的工作都在 Chrome 和 Safari 上。我在使用 mp3 时遇到了同样的问题
  • 您在 MP3 中使用了什么内容类型?内容类型音频/m4a 怎么样?还是使用原始 AAC 和音频/aac?
  • 我使用 kAudioFormatMPEGLayer3 和音频/mp3。我想我们找到了解决方案
  • 我认为这不是正确的内容类型 - 我认为应该是音频/mpeg
猜你喜欢
  • 2012-05-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-25
  • 2014-06-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多