Ich möchte ein Video erfassen. Danach möchte ich das Video nach einem Klick auf eine Schaltfläche abspielen. Ich arbeite mit Cordova für eine iOS- und Android-App. Ich arbeite mit den Plugins cordova-plugin-media-capture
und cordova-plugin-streaming-media
.Erstellen und Erfassen von Video in iOS mit Cordova
Caputring das Video funktioniert finde. Aber wenn ich auf der „Play Video“ klicken, erhalte ich einen Fehler in der Konsole:
ReferenceError: Can't find variable: playVideo
Was ist falsch? Hier ist meine Funktion:
//cordova media caputre plugin
document.addEventListener("deviceready", init, false);
function init() {
document.querySelector("#takeVideo").addEventListener("touchend", function() {
console.log("Take video");
navigator.device.capture.captureVideo(captureSuccess, captureError, {limit: 1});
}, false);
}
function captureError(e) {
console.log("capture error: "+JSON.stringify(e));
}
// capture callback
var captureSuccess = function(mediaFiles) {
var i, path, len;
for (i = 0, len = mediaFiles.length; i < len; i += 1) {
path = mediaFiles[i].fullPath;
console.log(mediaFiles[i].fullPath);
function playVideo(videoUrl) {
// Play a video with callbacks
var options = {
mustWatch: true,
successCallback: function() {
console.log("Video was closed without error.");
},
errorCallback: function(errMsg) {
console.log("Error! " + errMsg);
}
};
window.plugins.streamingMedia.playVideo(path, options);
}
}
};
Meine Tasten (HTML)
<button id="takeVideo">Take Video</button>
<input type="url" size="60" value="" id="vidUrl"/><br/>
<button type="button" onclick="playVideo(document.getElementById('vidUrl').value);">Play Video</button>
Haben Sie versucht, den Namen Ihrer eigenen Funktion playVideo zu ändern? scheint, als ob Sie eine Namenskollision haben. Und vielleicht ist das nur, weil, wenn SO, aber Sie eine Funktion innerhalb einer Funktion deklarieren und dann aus Ihrem HTML aufrufen, was nicht möglich ist ... – Kris