使用RTSP流无法在Android WebView中播放此视频错误

时间:2013-02-25 12:05:22

标签: android webview rtsp

我的应用程序有一个加载简单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/");
}

}

1 个答案:

答案 0 :(得分:0)

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

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