我正在开发一个应用程序,它使用webview来显示网页,如果url是视频链接(youtube)或作为网页一部分的视频,我想播放视频。我试着把url直接添加到webview中,但它连youtube链接都不播放,我已经在webview中启用了插件和javascript.....有谁能在这个问题上帮我,
试试看:
public class FlashContentPlayer extends Activity {
private WebView m_wvMain;
private Button m_btnPlayVideo;
private ProgressDialog m_progressLoading;
private String m_videoUrl;
private Context m_context;
@Override
protected void onCreate(Bundle p_savedInstanceState) {
super.onCreate(p_savedInstanceState);
setContentView(R.layout.flashcontentplayer);
m_context = FlashContentPlayer.this;
m_wvMain = (WebView) findViewById(R.id.fcpwvMain);
m_btnPlayVideo = (Button) findViewById(R.id.fcpbtnPlayVideo);
m_wvMain.getSettings().setJavaScriptEnabled(true);
m_wvMain.getSettings().setAllowFileAccess(true);
m_wvMain.getSettings().setPluginsEnabled(true);
m_wvMain.getSettings().setPluginState(WebSettings.PluginState.ON);
if (getIntent().hasExtra("video_url")) {
m_videoUrl = getIntent().getExtras().getString(
AppConstants.VIDEO_URL);
}
m_wvMain.setWebViewClient(new VideoWebViewClient());
m_progressLoading = new ProgressDialog(m_context);
m_progressLoading.setTitle(getString(R.string.app_name));
m_progressLoading.setMessage("Loading ...");
m_btnPlayVideo.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View p_v) {
if (m_videoUrl == null) {
m_wvMain.loadUrl("http://www.hackerdude.com/channels-test/20051210-w50s.flv");
} else {
if (m_videoUrl.contains("www.youtube.com/")
|| m_videoUrl.contains("youtu.be/")) {
System.out.println("video id==>"
+ getYoutubeVideoId(m_videoUrl));
if (isYouTubeInstalled(FlashContentPlayer.this)) {
Intent m_intent = new Intent(Intent.ACTION_VIEW,
Uri.parse("vnd.youtube:"
+ getYoutubeVideoId(m_videoUrl)));
startActivity(m_intent);
} else {
Intent m_yVideoIntent = new Intent(null, Uri
.parse("ytv://"
+ getYoutubeVideoId(m_videoUrl)),
m_context, OpenYouTubePlayerActivity.class);
startActivity(m_yVideoIntent);
}
} else {
m_wvMain.loadUrl(m_videoUrl);
}
}
}
});
}
/**
* Method to get the Video id from the Youtube Url
*
* @param p_url
* The url of the YouTube video
* @return The id of the YouTube video
*/
public String getYoutubeVideoId(String p_url) {
String m_videoID = null;
try {
Pattern m_compiledPattern = Pattern
.compile(AppConstants.YOUTUBE_URL_PATTERN);
Matcher m_matcher = m_compiledPattern.matcher(p_url);
if (m_matcher.find()) {
int m_start = m_matcher.end();
m_videoID = p_url.substring(m_start, m_start + 11);
}
} catch (Throwable p_e) {
CustomLogHandler.printErrorlog(p_e);
}
return m_videoID;
}
public class VideoWebViewClient extends WebViewClient {
@Override
public void onPageStarted(WebView p_view, String p_url, Bitmap p_favicon) {
m_progressLoading.show();
super.onPageStarted(p_view, p_url, p_favicon);
}
@Override
public boolean shouldOverrideUrlLoading(WebView p_view, String p_url) {
return super.shouldOverrideUrlLoading(p_view, p_url);
}
@Override
public void onPageFinished(WebView p_view, String p_url) {
if (m_progressLoading.isShowing()) {
m_progressLoading.cancel();
}
super.onPageFinished(p_view, p_url);
}
}
/**
* Method to check if YouTube application is installed or not in the device
*
* @param p_ctx
* The context of the activity
* @return true if YouTube application is installed on the device false
* otherwise
*/
public static boolean isYouTubeInstalled(Context p_ctx) {
PackageManager m_packageManager = p_ctx.getPackageManager();
boolean m_isInstalled = false;
List m_appList;
try {
// act_list =
// pm.getInstalledPackages(PackageManager.GET_ACTIVITIES);
m_appList = m_packageManager
.getInstalledApplications(PackageManager.GET_ACTIVITIES);
for (int m_i = 0; m_i < m_appList.size(); m_i++) {
if (m_appList.get(m_i).toString()
.contains("com.google.android.youtube")) {
// System.out.println("In if of com.google.android.youtube");
m_isInstalled = true;
break;
}
}
m_packageManager.getPackageInfo("com.google.android.youtube",
PackageManager.GET_ACTIVITIES);
} catch (Exception p_e) {
m_isInstalled = false;
}
return m_isInstalled;
}}
用 AVPlayer 类写的简易视频播放器,可以播放来自互联网的视频,支持手势缩放视频。只能播放iPhone支持的视频格式。 目前有两点不足:一是无法调节音量;二是手势放大缩小之后滑动快进快退也不太正常。希望有其他开发者在此基础上继续改进。 [Code4App.com]
主要内容:HTML视频(Videos)播放,实例,问题以及解决方法,使用 <embed> 标签,实例,使用 <object> 标签,实例,使用 HTML5 <video> 元素,实例,最好的 HTML 解决方法,HTML 5 + <object> + <embed>,使用超链接,实例,关于内联视频的说明,HTML 多媒体标签在 HTML 中播放视频的方法有很多种。 HTML视频(Videos)播放 实例 <video width="320" height="240" controls> <sou
我遵循了一些关于将JavaFX与Swing(JFrame)结合起来播放视频的教程,但是我得到的只是一个黑屏,视频应该没有任何实际的内容播放,也没有错误报告。 我在这里做错了什么,为什么视频不播放? 我尝试了几个. flv视频,没有一个会开始播放(当我在浏览器中打开它们时,它们确实会播放) 我正在运行jre7和jdk1。安装了K-lite完整编解码器包的windows 8.1 N Pro上的7.0_
在 HTML 中播放视频的方法有很多种。 HTML视频(Videos)播放<video width="320" height="240" controls> <source src="movie.mp4" type="video/mp4"> <source src="movie.ogg" type="video/ogg"> <source src="movie.webm" type="video/
在我的应用程序中,我想显示来自服务器URI路径的视频,在这里,第一次播放视频,当我想第二次播放视频时,视频没有播放,并显示一个弹出窗口,如无法播放此视频 下面是我的错误 提前谢谢。
我正在开发一个音频播放器,它可以在后台播放音频文件。我的问题是,当录像机或视频播放器启动时,我需要暂停音频播放器。 有什么方法可以处理这个任务吗?例如,我有来处理这些调用。当我接到呼叫或wnat呼叫时,我们可以使用呼叫状态暂停播放器。我想为录像机或视频播放器以及相同的场景。当视频/录制开始时,我需要暂停音频播放器。