2015-10-12 128 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

相關問題