0

我的应用程序有一个加载简单 html 的 WebView。但是,此 html 链接到 rtsp 实时视频流并且 WebView 能够加载它,但是当我单击一个视频时,它显示为正在加载播放器,但一段时间后收到消息“无法播放此视频..当我在本机 Android 浏览器中打开 rtsp 链接,它加载并工作正常,所以我知道这不是视频流不兼容。WebView 中是否有可以启用以允许播放 rtsp 视频流的东西?我都试过了模拟器和原始设备。谢谢!

public class MainActivity extends Activity 
{
private Button button;
public void onCreate(Bundle savedInstanceState) 
{
    final Context context = this;
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    button = (Button) findViewById(R.id.buttonUrl);
    button.setOnClickListener(new OnClickListener() 
    {
        @Override
        public void onClick(View arg0) 
        {
            Intent intent = new Intent(context, WebViewActivity.class);
            startActivity(intent);
        }

    });

}

}

public class WebViewActivity extends Activity 
{
    private WebView webView;

public void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.webview);

    webView = (WebView) findViewById(R.id.webView1);
    webView.getSettings().setJavaScriptEnabled(true);
    webView.loadUrl("http://myurl.com/");
}

}

4

1 回答 1

1

我能够使用以下方法将流重定向到视频播放器:

webView.setWebViewClient(new WebViewClient() {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        if (url.startsWith("rtsp")) {
            Uri uri = Uri.parse(url);
            Intent intent = new Intent(Intent.ACTION_VIEW, uri);
            startActivity(intent);
            return true;
        }
        return super.shouldOverrideUrlLoading(view, url);
    }
});
于 2014-10-09T13:54:31.673 回答