当前位置:编程学习 > wap >>

PhoneGap API中文帮助文档——Media(媒体)

Media对象提供录制和回放设备上的音频文件的能力。
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

返回返回一个音频文件的当前的位置。


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对象出错后调用的回调函数 

func

补充:移动开发 , IOS ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,