我希望能夠播放使用AVAudioRecorder @ 1.5x或2.0x速度錄製的音頻。 AVAudioPlayer中沒有任何支持這一點的東西。如果可能的話,我會很感激一些建議,以及如何通過iPhone 3.x SDK完成這些建議。我並不過分擔心降低音調來彌補增加的播放速度,但能夠做到這一點是最佳選擇。iPhone SDK:使用核心音頻更改播放速度AVAudioPlayer
2
A
回答
1
請參閱this question。換句話說,您必須使用不同的API,如音頻隊列服務。如果你想嘗試一個簡單的黑客攻擊,你可以嘗試加倍音頻文件的採樣率屬性。它可能不會工作。另外,要注意的是,在保持相同音調的同時,調整播放速度需要相當的CPU。您需要使用名爲"time stretching"的可用技術之一。另外,如果您現在還沒有意識到這一點,那麼在iPhone上使用音頻來做複雜的事情是一大痛苦,因爲Apple的文檔通常非常糟糕或者根本不存在。
2
改變採樣率應該像磁帶錄音機一樣工作,如果你玩得更快。一切都變得更高。要使音高保持不變,您需要設置一個包含AUPitch效果的音頻單位圖形,並按照您將採樣率增加相同的比率降低音高。
+0
謝謝你。 – memmons 2010-03-22 05:39:27
0
如果您想播放音頻的速度更快或更慢,avAudioPlayer中有一種內置方法。您是否嘗試過AudioPlayer Rate屬性?在斯威夫特它會是這樣的 -
audioP = try! AVAudioPlayer(contentsOf: URL(fileURLWithPath: selectedPath), fileTypeHint: "caf")
audioP.enableRate = true
audioP.prepareToPlay()
audioP.rate = 1.5
audioP.play()
相關問題
- 1. 是否可以通過iPhone中的AVAudioPlayer更改音頻播放速度?
- 2. 使用iPhone SDK播放音頻
- 3. AVAudioPlayer不播放音頻
- 4. 如何使用AVAudioPlayer更新播放音頻的播放時間使用AVAudioPlayer
- 5. pygame音頻播放速度
- 6. 使用AVAudioPlayer播放音頻時出錯
- 7. iPhone:改變播放速度與音頻單元
- 8. 使用AVAudioPlayer播放音頻文件和來電中斷播放時iPhone崩潰
- 9. iPhone聲音:在播放時調整音頻文件的播放速度
- 10. iPhone音頻緩衝器 - 核心音頻
- 11. 更改音頻的速度(速度)
- 12. Flash播放視頻速度正常,音頻速度正常
- 13. iPhone SDK - HTML直播音頻
- 14. 的Symbian/S60的音頻播放速度
- 15. 音頻播放速度太快
- 16. Android SDK - 如何以降低的速度播放音頻?
- 17. 使用iTunes播放音頻文件SDK
- 18. iPhone SDK:使用coreAudio播放聲音
- 19. 沒有聲音播放時核心音頻CPU利用率高
- 20. iPhone - 聲音不能播放AudioServicesPlaySystemSound和AVAudioPlayer
- 21. 使用AVAudioPlayer播放聲音後恢復背景音頻
- 22. 直播iPhone視頻播放iPhone SDK
- 23. 使用video.js更改視頻播放速度
- 24. 無法使用AVAudioPlayer播放來自互聯網的音頻
- 25. 使用AVAudioPlayer播放多個音頻文件
- 26. 使用AVAudioRecorder和AVAudioPLayer錄製然後播放音頻
- 27. AVAudioPlayer在鎖定時不會在iPhone 5中播放音頻
- 28. 問題播放音頻Iphone
- 29. 在iPhone上播放音頻
- 30. AVAudioPlayer不播放聲音IOS
謝謝你的答案。 – memmons 2010-03-13 02:20:12
因此,如果我以8000的採樣率進行錄製,那麼理論上將採樣率更改爲12000進行播放應該會導致1.5倍的速度? – memmons 2010-03-22 05:38:56
是的,如果它將採取任意採樣率而不是普通採樣率(44100,22050等)。我認爲它會的,但我沒有嘗試過。 – 2010-03-22 15:12:08