我想讀取一個聲音文件,我自己生成這個文件,這樣我就可以選擇任何可以輸出的大膽聲音,在一個浮點數組中,這樣我就可以浮動mySoundOneSecond [44100];並充分利用這些數據,以便我可以在iOS設備上操作那些'原始'浮點數據。如何在iOS上將聲音文件讀入浮點數組?
1
A
回答
1
您將不得不在CoreAudio中使用ExtFileReader C API。這會將你的文件讀入lPCM。但是請注意,從技術上講,您獲得的緩衝區不會保留浮點值,而是類型爲AudioUnitSampleType的8.24位定點整數。不要被這種typedef所欺騙,它是8.24bit。
0
NSMutableData
可能是您閱讀此文件的最簡單方法。類似這樣的::
NSMutableData *data = [NSMutableData dataWithContentsOfFile:path options:0 error:&error];
if (!data) { ... do something with the error ... }
float *mySoundOnSecond = [data mutableBytes];
您可能希望在您的選項中通過NSDataReadingMapped
這種類型的應用程序。通過將文件映射到內存而不是一次讀取所有內容,這將爲您節省一些時間。
請注意,這種方法會阻止它所在的線程。如果文件很大,您可以在後臺線程上執行或使用異步讀取方法。有關各種選項,請參閱File System Programming Guide。
相關問題
- 1. 將一半浮點數讀入數組
- 2. 如何在Core Audio中將浮點值數組寫入音頻文件?
- 3. 將浮點數組寫入音頻文件
- 4. 將浮點數組寫入文件
- 5. 無法將浮點數組讀入__m128
- 6. 如何將文件中的浮點數讀入列表
- 7. 如何將聲音放入數組中?
- 8. 如何將聲音(WAV)寫入文件
- 9. 點擊屏幕上的聲音(聲音文件數組),xcode和swift
- 10. 原始聲音字節數組浮點數組
- 11. 如何將XML文本(不是屬性)讀入浮點數?
- 12. 將資源聲音文件讀取到字節數組中
- 13. 將浮點數組寫入二進制文件並在swift中讀取
- 14. 將C++轉換爲C#將二進制文件讀入二維浮點數組
- 15. 將文件讀入數組
- 16. 將文件讀入數組
- 17. 將文件讀入數組
- 18. 如何讀取聲音文件(mp3)
- 19. 將浮點數寫入文件
- 20. 聲音採樣的空浮點數**
- 21. 閱讀浮點數從文件在Matlab
- 22. 將聲音文件導入Python作爲NumPy數組(替代audiolab)
- 23. 播放聲音文件iOS
- 24. 如何在純C中將文本文件讀入數組?
- 25. 如何在JAVA中將文本文件讀入數組列表?
- 26. 在IOS上播放聲音
- 27. 如何在Java中將數據從文件讀入數組?
- 28. 如何將CSV文件中的值移動到浮點數組?
- 29. Python:將wav文件寫入numpy浮點數組中
- 30. 如何將c中的整個文件讀入數組數組
嗨,Rob,謝謝 - 性能問題對於我正在做的事情沒什麼大不了的 - 但是我可以使用什麼格式的音頻,哪裏完全是原始的,沒有標頭或任何東西......讀取字節好的,理解,當然,但是什麼格式會給我正確的endian'd和無格式字節這種格式?謝謝 – Nektarios
這通常被稱爲「RAW」或「PCM」格式。我不知道Audacity是否會寫這些。 –