簡體   English   中英

在Android上無需用戶操作即可啟用媒體播放

[英]Enable media playback without user action for Android

當我尋找一種使媒體播放器能夠自動開始在正式文檔上播放視頻的首選項時,
我找到了ios的確切選項( MediaPlaybackRequiresUserAction )。

但是,沒有任何與Android等效的選項。
在Android上無法自動播放媒體嗎?

您可以在android cordova中執行此操作。 還有一種選擇。

public class YourActivity extends CordovaActivity 
{
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        super.onCreate(savedInstanceState);

        // enable Cordova apps to be started in the background
        Bundle extras = getIntent().getExtras();
        if (extras != null && extras.getBoolean("cdvStartInBackground", false)) {
           moveTaskToBack(true);
        }


        loadUrl(launchUrl);

        WebSettings ws = super.appView.getSettings();
        ws.setMediaPlaybackRequiresUserGesture(false); // its true by default
    }
}

Android參考: https//developer.android.com/reference/android/webkit/WebSettings#setMediaPlaybackRequiresUserGesture(boolean)

更新:

看來appView不再有getSettings()了,在這種情況下,以下方法應該可以工作

WebView webView = (WebView) appView.getEngine().getView();
WebSettings ws = webView.getSettings();

我要做的就是使用Android的setMediaPlaybackRequiresUserGesture(true/false)方法來控制媒體播放行為。
可以在MainActivity.java文件的onCreate()中執行此操作。
(謝謝阿米特·K·薩哈!)

它在platforms/android/app/src/main/java/whatever/your/namespace/MainActivity.java

import android.os.Bundle;
import org.apache.cordova.*;
import android.webkit.WebSettings; // ----- ADDED
import android.webkit.WebView; // ----- ADDED

public class MainActivity extends CordovaActivity
{
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);

        // enable Cordova apps to be started in the background
        Bundle extras = getIntent().getExtras();
        if (extras != null && extras.getBoolean("cdvStartInBackground", false)) {
            moveTaskToBack(true);
        }

        // Set by <content src="index.html" /> in config.xml
        loadUrl(launchUrl);

        // ----- ADDED
        WebView wv = (WebView) appView.getEngine().getView();
        WebSettings ws = wv.getSettings();
        ws.setMediaPlaybackRequiresUserGesture(false);
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM