Android
通過閱讀本文,您可以了解到屏幕分享的使用方法。
注意
Android 10.0 及以上版本,使用屏幕共享功能需要開啟前臺服務(wù),并在AndroidManifest.xml
中注冊 Service,添加 foregroundServiceType 屬性。
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<application>
<service
android:name="xxx.SimpleScreenShareService"
android:enabled="true"
android:foregroundServiceType="mediaProjection">
</service>
</application>
推流端
啟動屏幕分享。
// 配置屏幕分享推流
//獲取DingRtcEngine實例
DingRtcEngine mRtcEngine = DingRtcEngine.create(getApplicationContext(),"");
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
startForegroundService(sharingService);
}
ret = mRtcEngine.startScreenShare();
.....
推流后通過回調(diào)判斷屏幕共享是否發(fā)布成功。
public void onScreenSharePublishStateChanged(DingRtcEngine.DingRtcPublishState oldState , DingRtcEngine.DingRtcPublishState newState, int elapseSinceLastState, String channel);
參數(shù)
類型
描述
oldState
DingRtcPublishState
之前的推流狀態(tài)。
newState
DingRtcPublishState
當前的推流狀態(tài)。
elapseSinceLastState
int
狀態(tài)變更時間間隔。單位:毫秒。
channel
String
當前頻道ID。
停止屏幕分享。
// 配置屏幕分享停止 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { stopService(sharingService); } int ret = mRtcEngine.stopScreenShare();;
停止屏幕共享后通過回調(diào)判斷屏幕共享是否取消發(fā)布成功。
public void onScreenSharePublishStateChanged(DingRtcEngine.DingRtcPublishState oldState , DingRtcEngine.DingRtcPublishState newState, int elapseSinceLastState, String channel);
參數(shù)
類型
描述
oldState
AliRtcPublishState
之前的推流狀態(tài)。
newState
AliRtcPublishState
當前的推流狀態(tài)。
elapseSinceLastState
int
狀態(tài)變更時間間隔。單位:毫秒。
channel
String
當前頻道ID。
訂閱端
訂閱端用戶可通過自動或手動方式訂閱推流端屏幕分享視頻流,并設(shè)置對應(yīng)View顯示,詳情請參見DingRtcEngine接口。
文檔內(nèi)容是否對您有幫助?