Я создал приложение для веб-просмотра, которое будет воспроизводить онлайн-видео, воспроизводимое приложением по умолчанию для видеоплеера Android. Теперь система работает, когда я нажимаю кнопку воспроизведения, она будет воспроизводить видео на моем видеопроигрывателе Android по умолчанию, проблема в том, что, когда нажата кнопка, кажется, не работает, я пытаюсь войти в нее в своем веб-просмотре, и когда янажмите кнопку Play (), она возвращает ответ Undefined
Вот журнал
Вот мой код Java, который будет выполнять Android.play () в src.js
@JavascriptInterface
public boolean play(String vidio){
if(vidio.contains("mp4")){
Intent intent = new Intent(Intent.ACTION_VIEW);
//Eksekusi link sebagai video
intent.setDataAndType(Uri.parse(vidio), "video/mp4");
context.startActivity(intent);
Log.d("OWO",vidio);
return true;
}else{
Log.d("OWO",vidio);
return false;
}
}
Затем я пытаюсь заменить содержимое переменной видео в моем src.js на URL-адрес видео, ив результате мой JavaScript работает отлично, и я могу воспроизводить видео с помощью приложения по умолчанию для Android.
Вот код после изменения содержимого видеоизображения
src.js
window.onload = function(){
var video = "https://sample-videos.com/video123/mp4/720/big_buck_bunny_720p_1mb.mp4"
var play = document.getElementById('play');
var pause = document.getElementById('pause');
// associate functions with the 'onclick' events
play.onclick = playVideo;
pause.onclick = pauseVideo;
function playVideo(e) {
e.preventDefault();
Android.play(video);
}
}
Это скриншот при успешном запуске.
Это код JavaScript перед изменением.
src. JS
window.onload = function(){
var video = document.getElementById('my-video');
var play = document.getElementById('play');
var pause = document.getElementById('pause');
// associate functions with the 'onclick' events
play.onclick = playVideo;
function playVideo(e) {
e.preventDefault();
Android.play(video);
}
}
Я также попытался проверить, что является содержаниемпеременной видео используют console.log
<script type="text/javascript">
var video = document.getElementById('my-video');
console.log(video);
</script>
Оттуда я получил содержимое переменной видео, которая содержит html video tag
<video width="480" height="270" id="my-video" preload="auto" poster="http://www.jplayer.org/video/poster/Big_Buck_Bunny_Trailer_480x270.png">
<source src="https://sample-videos.com/video123/mp4/720/big_buck_bunny_720p_1mb.mp4"></source>
</video>
Из этого я заключаю, чтопроблема с видео-переменной, вероятно, потому что тип данных, объявленный как содержащий ее, является строкой в моей java-процедуре.
Итак, мой вопрос, как вы обрабатываете эту видео-переменную, чтобы она могла бытьвыполнено как видео и не определено?
Вот index.html , чтобы любой мог воспроизвести проблему
index.html
<!DOCTYPE html>
<html>
<head>
<title> Video</title>
<script type="text/javascript" src="src.js"></script>
</head>
<body bgcolor="#333">
<center>
<video preload="auto" width="480" height="270"
poster="http://www.jplayer.org/video/poster/Big_Buck_Bunny_Trailer_480x270.png" id="my-video">
<source src="https://sample-videos.com/video123/mp4/720/big_buck_bunny_720p_1mb.mp4" id="vidio" />
</video>
<br>
<br>
<div>
<a class="first" href="#" id="play">Play</a>
</div>
</center>