Android中如何让自己的播放器被调起

    xiaoxiao2021-12-14  21

    原理分析:当选择一个视频的时候,如果系统有多个播放器,此时会发一个隐式意图,匹配该隐式意图的播放器都能播放

    可以参照系统是如何调起系统默认播放器的,在系统上层应用Gallery的AndroidManifest.xml中找到MovieView(系统默认播放器)这个activity

    <activity android:name="com.android.camera.MovieView"                 android:label="@string/movieviewlabel"                 android:screenOrientation="landscape"                 android:configChanges="orientation|keyboardHidden"                 android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen">              <intent-filter>                 <action android:name="android.intent.action.VIEW" />                 <category android:name="android.intent.category.DEFAULT" />                 <category android:name="android.intent.category.BROWSABLE" />                 <data android:scheme="rtsp" />              </intent-filter>              <intent-filter>                 <action android:name="android.intent.action.VIEW" />                 <category android:name="android.intent.category.DEFAULT" />                 <data android:mimeType="video/*" />                 <data android:mimeType="application/sdp" />              </intent-filter>              <intent-filter>                 <action android:name="android.intent.action.VIEW" />                 <category android:name="android.intent.category.DEFAULT" />                 <category android:name="android.intent.category.BROWSABLE" />                 <data android:scheme="http" />                 <data android:mimeType="video/mp4" />                 <data android:mimeType="video/3gp" />                 <data android:mimeType="video/3gpp" />                 <data android:mimeType="video/3gpp2" />              </intent-filter>         </activity>

    将所有的意图拷贝到自己的播放的activity的配置中

    这样在系统发送隐私意图,打开选择界面activity的时候,我们的播放器也会出现在选择界面

    下面的代码是系统调起所有的播放器

     Intent intent = new Intent();            intent.setDataAndType(Uri.parse("视频播放地址"),"video/*");            context.startActivity(intent);

    这样就能让我们的播放器播放视频了

    转载请注明原文地址: https://ju.6miu.com/read-970637.html

    最新回复(0)