2015-10-12 126 views
2

为什么Safari/Chrome无法播放使用AVAudioRecorder创建的文件?iOS音频文件未在桌面Web浏览器中播放

这里是我的录音机设置:

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

编辑:读者代码

+0

你检查的视频编解码器的网址?提及您的视频的编解码器 –

+0

由于您只录制单声道音频文件,所以'AVNumberOfChannelsKey'键的值应该是1而不是2。也请用'.aac'扩展名保存文件。 –

+0

我也试过1个频道。 – VinZen

回答

0

UPDATE

你的文件是一个CAF/Core Audio Format,以及AAC/CAF比AAC甚至更少的广泛支持/ m4a(甚至没有iTunes播放caf文件)。

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

或.mp3 audio/mpeg

PREVIOUSLY

AAC/M4A是不是一个非常广泛支持的格式。你最好使用MP3。

+0

我在AAC有一些音乐。所有在Chrome和Safari上的工作。我遇到了与MP3相同的问题 – VinZen

+0

您使用什么内容类型的MP3?内容类型音频/ m4a如何?或者使用原始AAC和音频/ AAC? –

+0

我使用kAudioFormatMPEGLayer3和audio/mp3。我认为我们找到了解决方案 – VinZen

0

它的工作原理,如果我们有一个扩展

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

所以这是一个404问题? –

+0

不,我不知道为什么,但如果我们将记录保存为带有扩展名的文件,则Web浏览器可以播放它。即使您在保存记录后删除了扩展名。 – VinZen

+0

所以本课是:不保存没有文件扩展名的记录 – VinZen

相关问题