多媒体操作,支持camera和capture
牛刀小试
Camera操作
拍照并获取图像
从相册选取图像并显示
示例代码
//拍照并获取图像
navigator.camera.getPicture(onSuccess, onFail, { quality: 50,
destinationType: Camera.DestinationType.DATA_URL
});
function onSuccess(imageData) {
var image = document.getElementById('image');
image.src = "data:image/jpeg;base64," + imageData;
}
function onFail(message) {
alert('Failed because: ' + message);
}
//从相册选取图像并显示
navigator.camera.getPicture(onSuccess, onFail, { quality: 50,
destinationType: Camera.DestinationType.DATA_URL,
sourceType : Camera.PictureSourceType.PHOTOLIBRARY
});
function onSuccess(imageData) {
var image = document.getElementById('image');
image.src = "data:image/jpeg;base64," + imageData;
}
function onFail(message) {
alert('Failed because: ' + message);
}
Capture操作
拍摄照片
录制录音
播放录音
录制视频
播放视频
示例代码
// 定义播放video,audio的路径
var videoPath = '';
var audioPath = '';
// 定义capture拍照方法的成功回调函数和失败回调函数
var captureSuccess = function(mediaFiles) {
var i, path, len;
for (i = 0, len = mediaFiles.length; i < len; i += 1) {
path = mediaFiles[i].fullPath;
app.alert(path);
}
};
// 定义capture录音方法的成功回调函数
var captureAudioSuccess = function(mediaFiles) {
var i, path, len;
for (i = 0, len = mediaFiles.length; i < len; i += 1) {
path = mediaFiles[i].fullPath;
app.alert(path);
}
audioPath = path;
};
// 定义capture录像方法的成功回调函数和失败回调函数
var captureVideoSuccess = function(mediaFiles) {
var i, path, len;
for (i = 0, len = mediaFiles.length; i < len; i += 1) {
path = mediaFiles[i].fullPath;
app.alert(path);
}
videoPath = path;
};
// capture error callback
var captureError = function(error) {
navigator.notification.alert('Error code: ' + error.code, null, 'Capture Error');
};
//播放刚刚录制的录音
$("#btnPlayAudio").tap(function(){
app.StreamingMedia.playAudio(audioPath,{},function(res){
alert(res);
},function(error){
alert(error);
});
});
//播放刚刚录制的视频
$("#btnPlayVideo").tap(function(){
app.StreamingMedia.playVideo(videoPath,{},function(res){
alert(res);
},function(error){
alert(error);
});
});
//拍摄照片,limit:1 可以改变拍摄几次
navigator.device.capture.captureImage(captureSuccess, captureError, {limit:1});
//录音,limit:1 可以改变录音几次
navigator.device.capture.captureAudio(captureSuccess, captureError, {limit:1});
//录像,limit:1 可以改变录像几次
navigator.device.capture.captureVideo(captureSuccess, captureError, {limit:1});