- var media = new Media(src, mediaSuccess, [mediaError]);
备注:Media的当前实现并没有遵守W3C媒体捕获的相关规范,目前只是为了提供方便。未来的实现将遵守***的W3C规范并可能不再支持当前的APIs。
参数:
- src:一个包含音频内容的URI。(DOMString类型)
- mediaSuccess:(可选项)当一个Media对象完成当前的播放、录制或停止操作时触发的回调函数。(函数类型)
- mediaError:(可选项)当出现错误时调用的回调函数。(函数类型)
- mediaStatus:(可选项)当状态发生变化的时候调用的回调函数。(函数类型)
方法:
- media.getCurrentPosition:返回一个音频文件的当前位置。
- media.getDuration:返回一个音频文件的总时长。
- media.play:开始或恢复播放音频文件。
- media.pause:暂停播放音频文件。
- media.release:释放底层操作系统的音频资源。
- media.seekTo:在音频文件中移动到相应的位置。
- media.startRecord:开始录制音频文件。
- media.stopRecord:停止录制音频文件。
- media.stop:停止播放音频文件。
另外的只读属性:
- _position:以秒为单位的音频播放位置,播放过程中不会自动更新,通过调用getCurrentPosition进行更新。
- _duration:以秒为单位的媒体时长。
- 支持的平台:
- Android
- iOS
- 返回返回一个音频文件的当前的位置。
- media.getCurrentPosition(mediaSuccess, [mediaError]);
参数:
- mediaSuccess:成功的回调函数,返回当前的位置。
- mediaError:(可选项)如果发生错误时调用的回调函数。
说明:
- media.getCurrentPosition是一个异步函数,用户返回一个Media对象所指向的音频文件的当前位置,同时会对Media对象的_position参数进行更新。
支持的平台:
- Android
- iOS
简单的范例:
- // 音频播放器
- var my_media = new Media(src, onSuccess, onError);
- // 每秒更新一次媒体播放到的位置
- var mediaTimer = setInterval(function() {
- // 获得媒体位置
- my_media.getCurrentPosition(
- // 获得成功后调用的回调函数
- function(position) {
- if (position > -1) {
- console.log((position/1000) + " sec");
- }
- },
- // 发生错误后调用的回调函数
- function(e) {
- console.log("Error getting pos=" + e);
- }
- );
- }, 1000);
完整的范例:
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
- <html>
- <head>
- <title>Media Example</title>
- <script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
- <script type="text/javascript" charset="utf-8">
- // 等待加载PhoneGap
- document.addEventListener("deviceready", onDeviceReady, false);
- // PhoneGap加载完毕
- function onDeviceReady() {
- playAudio("http://audio.ibeat.org/content/p1rj1s/p1rj1s_-_rockGuitar.mp3");
- }
- // 音频播放器
- var my_media = null;
- var mediaTimer = null;
- // 播放音频
- function playAudio(src) {
- // 从目标文件创建Media对象
- my_media = new Media(src, onSuccess, onError);
- // 播放音频
- my_media.play();
- // 每秒更新一次媒体播放到的位置
- if (mediaTimer == null) {
- mediaTimer = setInterval(function() {
- // 获取媒体播放到的位置
- my_media.getCurrentPosition(
- //获取成功后调用的回调函数
- function(position) {
- if (position > -1) {
- setAudioPosition((position/1000) + " sec");
- }
- },
- // 发生错误后调用的回调函数
- function(e) {
- console.log("Error getting pos=" + e);
- setAudioPosition("Error: " + e);
- }
- );
- }, 1000);
- }
- }
- // 暂停音频播放
- function pauseAudio() {
- if (my_media) {
- my_media.pause();
- }
- }
- // 停止音频播放
- function stopAudio() {
- if (my_media) {
- my_media.stop();
- }
- clearInterval(mediaTimer);
- mediaTimer = null;
- }
- // 创建Media对象成功后调用的回调函数
- function onSuccess() {
- console.log("playAudio():Audio Success");
- }
- // 创建Media对象出错后调用的回调函数
- function onError(error) {
- alert('code: ' + error.code + '\n' +
- 'message: ' + error.message + '\n');
- }
- // 设置音频播放位置
- function setAudioPosition(position) {
- document.getElementById('audio_position').innerHTML = position;
- }
- </script>
- </head>
- <body>
- <a href="#" class="btn large" onclick="playAudio('http://audio.ibeat.org/content/p1rj1s/p1rj1s_-_rockGuitar.mp3');">Play Audio</a>
- <a href="#" class="btn large" onclick="pauseAudio();">Pause Playing Audio</a>
- <a href="#" class="btn large" onclick="stopAudio();">Stop Playing Audio</a>
- <p id="audio_position"></p>
- </body>
- </html>
- 返回音频文件的时间长度。
- media.getDuration();
说明:
- media.getDuration是一个同步函数,如果音频时长已知的话则返回以秒为单位的音频文件时长,如果时长不可知的话则返回-1。
支持的平台:
- Android
- iOS
简单的范例:
- // 音频播放器
- var my_media = new Media(src, onSuccess, onError);
- // 获得时间长度
- var counter = 0;
- var timerDur = setInterval(function() {
- counter = counter + 100;
- if (counter > 2000) {
- clearInterval(timerDur);
- }
- var dur = my_media.getDuration();
- if (dur > 0) {
- clearInterval(timerDur);
- document.getElementById('audio_duration').innerHTML = (dur/1000) + " sec";
- }
- }, 100);
完整的范例:
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
- <html>
- <head>
- <title>Media Example</title>
- <script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
- <script type="text/javascript" charset="utf-8">
- // 等待加载PhoneGap
- document.addEventListener("deviceready", onDeviceReady, false);
- // PhoneGap加载完毕
- function onDeviceReady() {
- playAudio("http://audio.ibeat.org/content/p1rj1s/p1rj1s_-_rockGuitar.mp3");
- }
- // 音频播放器
- var my_media = null;
- var mediaTimer = null;
- // 播放音频
- function playAudio(src) {
- // 从目标文件创建Media对象
- my_media = new Media(src, onSuccess, onError);
- // 播放音频
- my_media.play();
- // 每秒更新一次媒体播放到的位置
- if (mediaTimer == null) {
- mediaTimer = setInterval(function() {
- // 获取媒体播放到的位置
- my_media.getCurrentPosition(
- // 获取成功后调用的回调函数
- function(position) {
- if (position > -1) {
- setAudioPosition((position/1000) + " sec");
- }
- },
- // 发生错误后调用的回调函数
- function(e) {
- console.log("Error getting pos=" + e);
- setAudioPosition("Error: " + e);
- }
- );
- }, 1000);
- }
- }
- // 暂停音频播放
- function pauseAudio() {
- if (my_media) {
- my_media.pause();
- }
- }
- // 停止音频播放
- function stopAudio() {
- if (my_media) {
- my_media.stop();
- }
- clearInterval(mediaTimer);
- mediaTimer = null;
- }
- // 创建Media对象成功后调用的回调函数
- function onSuccess() {
- console.log("playAudio():Audio Success");
- }
- // 创建Media对象出错后调用的回调函数
- function onError(error) {
- alert('code: ' + error.code + '\n' +
- 'message: ' + error.message + '\n');
- }
- // 设置音频播放位置
- function setAudioPosition(position) {
- document.getElementById('audio_position').innerHTML = position;
- }
- </script>
- </head>
- <body>
- <a href="#" class="btn large" onclick="playAudio('http://audio.ibeat.org/content/p1rj1s/p1rj1s_-_rockGuitar.mp3');">Play Audio</a>
- <a href="#" class="btn large" onclick="pauseAudio();">Pause Playing Audio</a>
- <a href="#" class="btn large" onclick="stopAudio();">Stop Playing Audio</a>
- <p id="audio_position"></p>
- </body>
- </html>
- 开始或恢复播放一个音频文件。
- media.play();
说明:
- media.play是一个用于开始或恢复播放音频文件的同步函数。
支持的平台:
- Android
- iOS
简单的范例:
- // 播放音频文件
- function playAudio(url) {
- // 播放url指向的音频文件
- var my_media = new Media(url,
- // 播放成功后调用的回调函数
- function() {
- console.log("playAudio():Audio Success");
- },
- // 播放出错后调用的回调函数
- function(err) {
- console.log("playAudio():Audio Error: "+err);
- });
- // 播放音频文件
- my_media.play();
- }
完整的范例:
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
- <html>
- <head>
- <title>Media Example</title>
- <script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
- <script type="text/javascript" charset="utf-8">
- // 等待加载PhoneGap
- document.addEventListener("deviceready", onDeviceReady, false);
- // PhoneGap加载完毕
- function onDeviceReady() {
- playAudio("http://audio.ibeat.org/content/p1rj1s/p1rj1s_-_rockGuitar.mp3");
- }
- // 音频播放器
- var my_media = null;
- var mediaTimer = null;
- // 播放音频文件
- function playAudio(src) {
- // 从目标文件创建Media对象
- my_media = new Media(src, onSuccess, onError);
- // 播放音频
- my_media.play();
- // 每秒更新一次媒体播放到的位置
- if (mediaTimer == null) {
- mediaTimer = setInterval(function() {
- // 获取媒体播放到的位置
- my_media.getCurrentPosition(
- // 获取成功后调用的回调函数
- function(position) {
- if (position > -1) {
- setAudioPosition((position/1000) + " sec");
- }
- },
- // 发生错误后调用的回调函数
- function(e) {
- console.log("Error getting pos=" + e);
- setAudioPosition("Error: " + e);
- }
- );
- }, 1000);
- }
- }
- // 暂停音频播放
- function pauseAudio() {
- if (my_media) {
- my_media.pause();
- }
- }
- // 停止音频播放
- function stopAudio() {
- if (my_media) {
- my_media.stop();
- }
- clearInterval(mediaTimer);
- mediaTimer = null;
- }
- // 创建Media对象成功后调用的回调函数
- function onSuccess() {
- console.log("playAudio():Audio Success");
- }
- // 创建Media对象出错后调用的回调函数
- function onError(error) {
- alert('code: ' + error.code + '\n' +
- 'message: ' + error.message + '\n');
- }
- // 设置音频播放位置
- function setAudioPosition(position) {
- document.getElementById('audio_position').innerHTML = position;
- }
- </script>
- </head>
- <body>
- <a href="#" class="btn large" onclick="playAudio('http://audio.ibeat.org/content/p1rj1s/p1rj1s_-_rockGuitar.mp3');">Play Audio</a>
- <a href="#" class="btn large" onclick="pauseAudio();">Pause Playing Audio</a>
- <a href="#" class="btn large" onclick="stopAudio();">Stop Playing Audio</a>
- <p id="audio_position"></p>
- </body>
- </html>
- 暂停播放一个音频文件。
- media.pause();
说明:
- media.pause是一个用于暂停播放音频文件的同步函数。
支持的平台:
- Android
- iOS
简单的范例:
- // 播放音频
- function playAudio(url) {
- // 播放url指向的音频文件
- var my_media = new Media(url,
- // 获取成功后调用的回调函数
- function() {
- console.log("playAudio():Audio Success");
- },
- // 发生错误后调用的回调函数
- function(err) {
- console.log("playAudio():Audio Error: "+err);
- }
- )
- // 播放音频
- my_media.play();
- // 暂停10秒钟
- setTimeout(function() {
- media.pause();
- }, 10000);
- }
完整的范例:
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
- <html>
- <head>
- <title>Media Example</title>
- <script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
- <script type="text/javascript" charset="utf-8">
- // 等待加载PhoneGap
- document.addEventListener("deviceready", onDeviceReady, false);
- // PhoneGap加载完毕
- function onDeviceReady() {
- playAudio("http://audio.ibeat.org/content/p1rj1s/p1rj1s_-_rockGuitar.mp3");
- }
- // 音频播放器
- var my_media = null;
- var mediaTimer = null;
- // 播放音频
- function playAudio(src) {
- // 从目标播放文件创建Media对象
- my_media = new Media(src, onSuccess, onError);
- // 播放音频
- my_media.play();
- // 每秒更新一次媒体播放到的位置
- if (mediaTimer == null) {
- mediaTimer = setInterval(function() {
- // 获取媒体播放到的位置
- my_media.getCurrentPosition(
- // 获取成功后调用的回调函数
- function(position) {
- if (position > -1) {
- setAudioPosition((position/1000) + " sec");
- }
- },
- // 发生错误后调用的回调函数
- function(e) {
- console.log("Error getting pos=" + e);
- setAudioPosition("Error: " + e);
- }
- );
- }, 1000);
- }
- }
- // 暂停音频播放
- function pauseAudio() {
- if (my_media) {
- my_media.pause();
- }
- }
- // 停止音频播放
- function stopAudio() {
- if (my_media) {
- my_media.stop();
- }
- clearInterval(mediaTimer);
- mediaTimer = null;
- }
- // 创建Media对象成功后调用的回调函数
- function onSuccess() {
- console.log("playAudio():Audio Success");
- }
- // 创建Media对象出错后调用的回调函数
- function onError(error) {
- alert('code: ' + error.code + '\n' +
- 'message: ' + error.message + '\n');
- }
- // 设置音频播放位置
- function setAudioPosition(position) {
- document.getElementById('audio_position').innerHTML = position;
- }
- </script>
- </head>
- <body>
- <a href="#" class="btn large" onclick="playAudio('http://audio.ibeat.org/content/p1rj1s/p1rj1s_-_rockGuitar.mp3');">Play Audio</a>
- <a href="#" class="btn large" onclick="pauseAudio();">Pause Playing Audio</a>
- <a href="#" class="btn large" onclick="stopAudio();">Stop Playing Audio</a>
- <p id="audio_position"></p>
- </body>
- </html>
- 释放底层操作系统音频资源。
- media.release();
说明:
- media.release是一个用于释放系统音频资源的同步函数。该函数对于Android系统尤为重要,因为Android系统的OpenCore(多媒体核心)的实例是有限的。开发者需要在他们不再需要相应Media资源时调用“release”函数释放它。
支持的平台:
- Android
- iOS
简单的范例:
- // 音频播放器
- var my_media = new Media(src, onSuccess, onError);
- my_media.play();
- my_media.stop();
- my_media.release();
完整的范例:
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
- <html>
- <head>
- <title>Media Example</title>
- <script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
- <script type="text/javascript" charset="utf-8">
- // 等待加载PhoneGap
- document.addEventListener("deviceready", onDeviceReady, false);
- // PhoneGap加载完毕
- function onDeviceReady() {
- playAudio("http://audio.ibeat.org/content/p1rj1s/p1rj1s_-_rockGuitar.mp3");
- }
- // 音频播放器
- var my_media = null;
- var mediaTimer = null;
- // 播放音频
- function playAudio(src) {
- // 从目标播放文件创建Media对象
- my_media = new Media(src, onSuccess, onError);
- // 播放音频
- my_media.play();
- // 每秒更新一次媒体播放到的位置
- if (mediaTimer == null) {
- mediaTimer = setInterval(function() {
- // 获取媒体播放到的位置
- my_media.getCurrentPosition(
- // 获取成功后调用的回调函数
- function(position) {
- if (position > -1) {
- setAudioPosition((position/1000) + " sec");
- }
- },
- // 发生错误后调用的回调函数
- function(e) {
- console.log("Error getting pos=" + e);
- setAudioPosition("Error: " + e);
- }
- );
- }, 1000);
- }
- }
- // 暂停音频播放
- function pauseAudio() {
- if (my_media) {
- my_media.pause();
- }
- }
- // 停止音频播放
- function stopAudio() {
- if (my_media) {
- my_media.stop();
- }
- clearInterval(mediaTimer);
- mediaTimer = null;
- }
- // 创建Media对象成功后调用的回调函数
- function onSuccess() {
- console.log("playAudio():Audio Success");
- }
- // 创建Media对象出错后调用的回调函数
- function onError(error) {
- alert('code: ' + error.code + '\n' +
- 'message: ' + error.message + '\n');
- }
- // 设置音频播放位置
- function setAudioPosition(position) {
- document.getElementById('audio_position').innerHTML = position;
- }
- </script>
- </head>
- <body>
- <a href="#" class="btn large" onclick="playAudio('http://audio.ibeat.org/content/p1rj1s/p1rj1s_-_rockGuitar.mp3');">Play Audio</a>
- <a href="#" class="btn large" onclick="pauseAudio();">Pause Playing Audio</a>
- <a href="#" class="btn large" onclick="stopAudio();">Stop Playing Audio</a>
- <p id="audio_position"></p>
- </body>
- </html>
- 开始录制一个音频文件。
- media.startRecord();
说明:
- media.startRecord是用于开始录制一个音频文件的同步函数。
支持的平台:
- Android
- iOS
简单的范例:
- // 录制音频
- function recordAudio() {
- var src = "myrecording.mp3";
- var mediaRec = new Media(src,
- // 新建Media对象成功后调用的回调函数
- function() {
- console.log("recordAudio():Audio Success");
- },
- // 新建Media对象出错后调用的回调函数
- function(err) {
- console.log("recordAudio():Audio Error: "+ err.code);
- }
- );
- // 录制音频
- mediaRec.startRecord();
- }
完整的范例:
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
- <html>
- <head>
- <title>Device Properties Example</title>
- <script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
- <script type="text/javascript" charset="utf-8">
- // 等待加载PhoneGap
- document.addEventListener("deviceready", onDeviceReady, false);
- // 录制音频
- function recordAudio() {
- var src = "myrecording.mp3";
- var mediaRec = new Media(src, onSuccess, onError);
- // 开始录制音频
- mediaRec.startRecord();
- // 10秒钟后停止录制
- var recTime = 0;
- var recInterval = setInterval(function() {
- recTimerecTime = recTime + 1;
- setAudioPosition(recTime + " sec");
- if (recTime >= 10) {
- clearInterval(recInterval);
- mediaRec.stopRecord();
- }
- }, 1000);
- }
- // PhoneGap加载完毕
- function onDeviceReady() {
- recordAudio();
- }
- // 创建Media对象成功后调用的回调函数
- function onSuccess() {
- console.log("recordAudio():Audio Success");
- }
- // 创建Media对象出错后调用的回调函数
- function onError(error) {
- alert('code: ' + error.code + '\n' +
- 'message: ' + error.message + '\n');
- }
- // 设置音频播放位置
- function setAudioPosition(position) {
- document.getElementById('audio_position').innerHTML = position;
- }
- </script>
- </head>
- <body>
- <a href="#" class="btn large" onclick="playAudio('http://audio.ibeat.org/content/p1rj1s/p1rj1s_-_rockGuitar.mp3');">Play Audio</a>
- <a href="#" class="btn large" onclick="pauseAudio();">Pause Playing Audio</a>
- <a href="#" class="btn large" onclick="stopAudio();">Stop Playing Audio</a>
- <p id="audio_position"></p>
- </body>
- </html>
iOS 的特异情况:
- 用于录制的文件必须已经存在并是.wav类型,可以通过File API来进行文件的创建。
- 停止播放一个音频文件。
- media.stop();
说明:
- media.stop函数是一个用于停止播放音频文件的同步函数。
支持的平台:
- Android
- iOS
简单的范例:
- // 播放音频
- function playAudio(url) {
- // 播放url指向的音频文件
- var my_media = new Media(url,
- // 新建Media对象成功后调用的回调函数
- function() {
- console.log("playAudio():Audio Success");
- },
- // 新建Media对象出错后调用的回调函数
- function(err) {
- console.log("playAudio():Audio Error: "+err);
- }
- );
- // 播放音频
- my_media.play();
- // 10秒钟后暂停播放
- setTimeout(function() {
- my_media.stop();
- }, 10000);
- }
完整的范例:
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
- <html>
- <head>
- <title>Media Example</title>
- <script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
- <script type="text/javascript" charset="utf-8">
- // 等待加载PhoneGap
- document.addEventListener("deviceready", onDeviceReady, false);
- // PhoneGap加载完毕
- function onDeviceReady() {
- playAudio("http://audio.ibeat.org/content/p1rj1s/p1rj1s_-_rockGuitar.mp3");
- }
- // 音频播放器
- var my_media = null;
- var mediaTimer = null;
- // 播放音频
- function playAudio(src) {
- // 从目标播放文件创建Media对象
- my_media = new Media(src, onSuccess, onError);
- // 播放音频
- my_media.play();
- // 每秒更新一次媒体播放到的位置
- if (mediaTimer == null) {
- mediaTimer = setInterval(function() {
- // 获取媒体播放到的位置
- my_media.getCurrentPosition(
- // 获取成功后调用的回调函数
- function(position) {
- if (position > -1) {
- setAudioPosition((position/1000) + " sec");
- }
- },
- // 发生错误后调用的回调函数
- function(e) {
- console.log("Error getting pos=" + e);
- setAudioPosition("Error: " + e);
- }
- );
- }, 1000);
- }
- }
- // 暂停音频播放
- function pauseAudio() {
- if (my_media) {
- my_media.pause();
- }
- }
- // 停止音频播放
- function stopAudio() {
- if (my_media) {
- my_media.stop();
- }
- clearInterval(mediaTimer);
- mediaTimer = null;
- }
- // 创建Media对象成功后调用的回调函数
- function onSuccess() {
- console.log("playAudio():Audio Success");
- }
- // 创建Media对象出错后调用的回调函数
- function onError(error) {
- alert('code: ' + error.code + '\n' +
- 'message: ' + error.message + '\n');
- }
- // 设置音频播放位置
- function setAudioPosition(position) {
- document.getElementById('audio_position').innerHTML = position;
- }
- </script>
- </head>
- <body>
- <a href="#" class="btn large" onclick="playAudio('http://audio.ibeat.org/content/p1rj1s/p1rj1s_-_rockGuitar.mp3');">Play Audio</a>
- <a href="#" class="btn large" onclick="pauseAudio();">Pause Playing Audio</a>
- <a href="#" class="btn large" onclick="stopAudio();">Stop Playing Audio</a>
- <p id="audio_position"></p>
- </body>
- </html>
- 停止录制一个音频文件。
- media.stopRecord();
说明:
- media.stopRecord是用于停止录制一个音频文件的同步函数。
支持的平台:
- Android
- iOS
简单的范例:
- // 录制音频
- function recordAudio() {
- var src = "myrecording.mp3";
- var mediaRec = new Media(src,
- // 新建Media对象成功后调用的回调函数
- function() {
- console.log("recordAudio():Audio Success");
- },
- // 新建Media对象出错后调用的回调函数
- function(err) {
- console.log("recordAudio():Audio Error: "+ err.code);
- }
- );
- // 开始录制音频
- mediaRec.startRecord();
- // 10秒后停止录制
- setTimeout(function() {
- mediaRec.stopRecord();
- }, 10000);
- }
完整的范例:
- <!DOCTYPE html>
- <html>
- <head>
- <title>Device Properties Example</title>
- <script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
- <script type="text/javascript" charset="utf-8">
- // 等待加载PhoneGap
- document.addEventListener("deviceready", onDeviceReady, false);
- // 录制音频
- function recordAudio() {
- var src = "myrecording.mp3";
- var mediaRec = new Media(src, onSuccess, onError);
- // 开始录制音频
- mediaRec.startRecord();
- // 10秒后停止录制
- var recTime = 0;
- var recInterval = setInterval(function() {
- recTimerecTime = recTime + 1;
- setAudioPosition(recTime + " sec");
- if (recTime >= 10) {
- clearInterval(recInterval);
- mediaRec.stopRecord();
- }
- }, 1000);
- }
- // PhoneGap加载完毕
- function onDeviceReady() {
- recordAudio();
- }
- // 新建Media对象成功后调用的回调函数
- function onSuccess() {
- console.log("recordAudio():Audio Success");
- }
- // 新建Media对象出错后调用的回调函数
- function onError(error) {
- alert('code: ' + error.code + '\n' +
- 'message: ' + error.message + '\n');
- }
- // 设置音频播放位置
- function setAudioPosition(position) {
- document.getElementById('audio_position').innerHTML = position;
- }
- </script>
- </head>
- <body>
- <p id="media">Recording audio...</p>
- <p id="audio_position"></p>
- </body>
- </html>
- 当发生错误时,一个MediaError对象将传递给mediaError回调函数。
属性:
- code:一个在下面常量列表中定义的错误代码。
- message:用于描述错误细节的错误信息。
常量:
- MediaError.MEDIA_ERR_ABORTED:媒体中断错误
- MediaError.MEDIA_ERR_NETWORK:网络错误
- MediaError.MEDIA_ERR_DECODE:编码错误
- MediaError.MEDIA_ERR_NONE_SUPPORTED:格式不支持
说明:
- 当发生错误时,一个MediaError对象将通过mediaError回调函数传递给用户。
- 一个用户指定的回调函数,当媒体函数出现错误的时候被调用。
- function(error) {
- // 处理错误
- }
参数:
- error:设备返回的错误信息。(MediaError类型)