我正在開發一種低數據速率的VoIP類項目。我需要以低數據速率捕捉音頻並將其存儲在內部緩衝區或FIFO(不在文件中)。使用MediaRecorder寫入緩衝區或FIFO
我想使用低數據速率.AMR編碼器,這意味着AudioRecord不在了。 MediaRecorder看起來像它正是我想要的,只是它似乎寫入一個文件。
MediaRecorder需要一個FileDescriptor ...有沒有什麼辦法可以編寫一個實現FileDescriptor接口的類......充當字節的同步......但不是將它們發送到文件,而是將它們存儲在緩衝?關於FileDescriptor的文檔特別指出,應用程序不應該自己寫,但爲什麼不可以,而且有可能呢?
http://docs.oracle.com/javase/1.4.2/docs/api/java/io/FileDescriptor.html
總之,我想發展我自己的流,並誘騙MediaRecorder將數據發送給它。也許做一些棘手的事情,打開同一個APK中的套接字的兩端,並給MediaRecorder套接字寫入?使用套接字作爲我的FIFO?我對此有點新,所以任何幫助/建議非常感謝。
我在RX方面有一個相關的問題。我想有一個緩衝區/ FIFO提供MediaPlayer。我可以欺騙MediaPlayer接受來自由我自己的專有流提供的緩衝區中的數據嗎?
試過了。它不起作用。至少不適用於MediaRecorder。 – binW