我嘗試使用新的 AudioPlaybackCapture 方法在 Android 10 設備中錄制一些媒體。但不幸的是,我使用這個 API 的代碼似乎運行得不好。在這里,我使用了一個啟動單獨的媒體錄制服務的活動。該服務注冊到廣播接收器以開始和停止錄制。并且廣播意圖是通過單擊按鈕(開始、停止)使用我的主要活動觸發的,沒有打印任何異常。該文件也會在所需位置創建。但沒有內容(0字節)。已給出所有必需的清單和運行時權限。我在這里做錯了什么。以下是啟動服務和啟動/停止操作的主要活動的摘錄。public class MainActivity extends AppCompatActivity { public static final String LOG_PREFIX = "CALL_FUNCTION_TEST"; private static final int ALL_PERMISSIONS_PERMISSION_CODE = 1000; private static final int CREATE_SCREEN_CAPTURE = 1001; Button _btnInitCapture; Button _btnStartCapture; Button _btnStopCapture; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); _btnGetOkPermissions = findViewById(R.id.btnGetOkPermissions); _btnGetOkPermissions.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { checkOkPermissions(); } }); _btnInitCapture = findViewById(R.id.btnInitCapture); _btnInitCapture.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { initAudioCapture(); } }); _btnStartCapture = findViewById(R.id.btnStartCapture); _btnStartCapture.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { startRecording(); } }); _btnStopCapture = findViewById(R.id.btnStopAudioCapture); _btnStopCapture.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { stopRecording(); } }); }
1 回答

慕蓋茨4494581
TA貢獻1850條經驗 獲得超11個贊
好吧,沒有什么是isRecording
真的。另外,您正在以阻塞方法進行錄制,但您處于 UI 線程上,這應該會導致您的界面在開始錄制后立即凍結。
添加回答
舉報
0/150
提交
取消