在Android上无需用户操作即可启用媒体播放

时间:2018-07-06 20:02:05

标签: android cordova

当我寻找使媒体播放器能够自动开始播放视频的首选项时on the official document
我找到了ios(MediaPlaybackRequiresUserAction)的确切选项。

但是,对此没有任何与Android等效的选项。
不能在Android上自动播放媒体吗?

2 个答案:

答案 0 :(得分:1)

您可以在android cordova中执行此操作。还有一种选择。

City      Store    Avg
-----------------------
Houston   Eagle    2.1
Houston   Sears    2.5
Houston   BK       X.X
Miami     Eagle    X.X
Miami     Sears    X.X
Miami     BK       X.X
etc...

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

更新

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 } } 起似乎getSettings()不再存在了,在这种情况下,下面的方法应该可以工作

appView

答案 1 :(得分:0)

我要做的就是使用Android的setMediaPlaybackRequiresUserGesture(true/false)方法来控制媒体播放行为。
该操作位于onCreate()文件的MainActivity.java中。
(谢谢阿米特·萨哈!)

它在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);
    }
}