audiotrack

    1熱度

    1回答

    我正在開發一個應用程序,通過線性調頻信號發送文本。基本上,我給了用戶寫一個文本的機會,並選擇一個開始頻率,一個最終頻率以及一些關於時間間隔和要發送比特的持續時間的其他選項。 在應用程序中,我將文本分割爲字符,將它們轉換爲ASCII整數,將這些整數轉換爲二進制文件,然後用啁啾信號(以Big Endian方式)發送它們,帶有從初始頻率到最終頻率的5ms啁啾聲(從下到上)發送1,並從最終到最初的頻率。

    3熱度

    1回答

    快速背景: 該應用程序是一個音頻播放器,ffmpeg被編譯爲本地共享對象並用於解碼,編譯了獨立的本地庫作爲共享對象並用於音頻處理,AudioTrack用於輸出處理後的音頻。所有的音頻功能都被封裝到一個使用靜態類變量的類中,以確保只有一個實例。在這個類中:java線程用於從ffmpeg獲取數據並通過本機處理庫完成音頻處理。取決於配置,本地處理呼叫需要2到3.5毫秒。處理後的音頻位於由讀寫計數信號量管

    0熱度

    2回答

    public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); int minBufferSize = AudioTrack.getMinBufferSize(44100, AudioFormat.

    3熱度

    2回答

    我想用AudioTrack從SD卡播放音頻文件。我試過這段代碼: int minBufferSize = AudioTrack.getMinBufferSize(8000, AudioFormat.CHANNEL_CONFIGURATION_MONO, AudioFormat.ENCODING_PCM_16BIT); int bufferSize = 5

    2熱度

    2回答

    想法是電話A同時發送聲音信號和藍牙信號,電話B將計算兩個信號之間的延遲。 實際上,我得到的結果不一致,延遲時間爲90ms-160ms。 我試着儘可能地優化兩端。 在輸出端:生成一次 音 藍牙和音頻輸出每個人都有自己的線程 藍牙只輸出後AudioTrack.write和AudioTrack是流模式,因此 應該開始輸出之前寫的甚至完成。 在接收端: 再次兩個獨立線程 系統時間被記錄每個AudioRec

    3熱度

    2回答

    我可以用track.setStereoVolume(a,b); 設置audioTrack的體積,但我無法找到讓音量的方法,要麼喜歡getStereoVolume()或setOnVolumeChangedHandler(...) 我怎麼可以跟蹤的音量?

    1熱度

    1回答

    我試圖從麥克風錄下聲音然後回放,但我在這裏的所有內容都是點擊聲音。 AudioTrack和AudioRecord都處於相同的設置,並正確啓動。這裏是我的代碼: stop.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { isReco

    0熱度

    2回答

    如何通過無限循環更改錄音筆的持續時間? 我知道必須audioTrack.play()之前應用下面的行: audioTrack.setLoopPoints (0, generatedSnd.length, -1); 例如,我想的持續時間將是半秒,因此,「持續時間」變量類型是「int」 ISN沒有用。 要做到這一點,我希望重複播放聲音,並控制時間停止與計時器。 的代碼是: private int

    0熱度

    1回答

    如果我創建20個併發流 new SoundPool(20, ...) 多少本地AudioTrack對象將由該保留的Soundpool對象一個的Soundpool對象? SoundPool開源的本地實現?我在哪裏可以查看它?

    9熱度

    4回答

    我有一個應用程序,我在流模式下使用AudioTrack播放動態生成的音頻。該應用程序不需要立即對輸入做出響應,因此延遲問題不會影響到該程序的這一方面。 問題是我有一個動畫需要與音頻儘可能精確地'同步',並且似乎不同的設備在AudioTrack停止阻止write()呼叫時有不同的時間長度並詢問獲取更多數據,以及何時從揚聲器播放音頻。 我目前的解決方案讓我獲得了大部分途徑 - 我計算了迄今爲止傳遞給A