第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

一分鐘后音頻停止錄制

一分鐘后音頻停止錄制

慕的地8271018 2023-05-17 15:41:19
我正在嘗試使用 WebRTC,一切正常,但似乎存在一個問題,即如果屏幕關(guān)閉超過一分鐘,音頻將停止錄制,這意味著設(shè)備的音頻將停止,直到我打開屏幕一次再次。我試過什么?1)我試過設(shè)置webSettings.setMediaPlaybackRequiresUserGesture(false);它對問題沒有好處。2)我也嘗試wakelock在我正在進(jìn)行的 WebRTC 活動中添加一個,但它也沒有用。以下是清單中聲明的權(quán)限:<uses-permission android:name="android.permission.RECORD_AUDIO" /><uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />在活動中,我授予以下麥克風(fēng)的權(quán)限WebChromeClient:@Overridepublic void onPermissionRequest(final PermissionRequest request) {? ? request.grant(request.getResources());}我想要的是?我希望能夠在不打擾用戶重新打開屏幕的情況下繼續(xù)通話。請指出我正確的方向。謝謝!更新:我嘗試在 Chrome 中加載 WebRTC url 并且發(fā)生了同樣的事情,也就是說,音頻停止從我的設(shè)備錄制。更新 2:當(dāng)音頻停止來自設(shè)備時添加日志。2019-08-06 17:18:47.266 4332-22405/? V/APM_AudioPolicyManager: getAudioPolicyConfig: audioParam;outDevice2019-08-06 17:18:47.266 4332-22405/? V/APM_AudioPolicyManager: getNewOutputDevice() selected device 22019-08-06 17:18:47.266 4332-22405/? V/APM_AudioPolicyManager: ### curdevice : 22019-08-06 17:18:47.307 4332-22405/? V/APM_AudioPolicyManager: AudioPolicyManager:setRecordSilenced(uid:99066, silenced:1)2019-08-06 17:18:47.308 4332-22405/? V/APM_AudioPolicyManager: AudioPolicyManager:setRecordSilenced(uid:11556, silenced:1)更新 3:嘗試WebView以Foreground Service相同的結(jié)果進(jìn)行初始化。更新 4:嘗試使用 Chrome(76.0.3809.132)在https://appr.tc/上進(jìn)行演示調(diào)用。觀察到相同的結(jié)果。更新 5:嘗試使用 Firefox 進(jìn)行演示調(diào)用,它完美無缺地工作,這讓我認(rèn)為這是 Chromium 的錯誤嗎?更新 6:填寫錯誤報告
查看完整描述

3 回答

?
largeQ

TA貢獻(xiàn)2039條經(jīng)驗 獲得超8個贊

顯然,這不是一項常見的任務(wù),因為您的所有實施都只是一個WebView. 這很難與 Android 內(nèi)部如此長的生存任務(wù)和生命周期保持一致。對于前。我們所做的每個VoIP應(yīng)用程序,都有后臺服務(wù),以保持連接有效,并帶有喚醒鎖。這只是確保通話穩(wěn)定性的一種方式。


但是,我認(rèn)為您可以嘗試這樣做。通過WebView在 Service 中管理您的工作。為此,您可以考慮將一些調(diào)用邏輯移到另一個視圖中,然后開始新的Service和創(chuàng)建新的Window。這將確保您Window在Service. 好像。


public class ServiceWithWebView extends Service {


    @Override

    public void onCreate() {

        super.onCreate();


        final WindowManager windowManager = (WindowManager) 

                    getSystemService(WINDOW_SERVICE);

        params = new WindowManager.LayoutParams(WindowManager.LayoutParams.WRAP_CONTENT, 

                    WindowManager.LayoutParams.WRAP_CONTENT, 

                    WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY);


        final LinearLayout view = new LinearLayout(this);

        view.setLayoutParams(new RelativeLayout.LayoutParams(RelativeLayout

              .LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.MATCH_PARENT));


        WebView wv = new WebView(this);

        wv.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout

                 .LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT));

        view.addView(wv);

        wv.loadUrl("http://google.com");


        windowManager.addView(view, params);

    }

}


查看完整回答
反對 回復(fù) 2023-05-17
?
繁華開滿天機(jī)

TA貢獻(xiàn)1816條經(jīng)驗 獲得超4個贊

在通話期間,您應(yīng)該努力在該活動中保持屏幕開啟,并防止屏幕變暗。

用這個:

getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

在你的電話完成后:

getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);


查看完整回答
反對 回復(fù) 2023-05-17
?
慕田峪4524236

TA貢獻(xiàn)1875條經(jīng)驗 獲得超5個贊

Android 會在離開前臺幾分鐘后自動銷毀您的活動,這將導(dǎo)致錄音關(guān)閉。

我在 android 上使用 webrtc,如果你想在 Android 上使用 webrtc 創(chuàng)建通話和視頻通話,我建議使用本機(jī) webrtc 并在前臺服務(wù)上實現(xiàn)與 webrtc 相關(guān)的所有內(nèi)容。前臺服務(wù)將確保您的記錄器和相機(jī)在活動被破壞時繼續(xù)運(yùn)行事件。

查看完整回答
反對 回復(fù) 2023-05-17
  • 3 回答
  • 0 關(guān)注
  • 234 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號