类: MediaPlayer 
更新: 2025/7/20 字数: 0 字 时长: 0 分钟
media.MediaPlayer
多媒体播放器。提供更丰富的音乐播放管理功能。比如播放、暂停、进度监听等。
示例
"nodejs";
const { MediaPlayer } = require("media");
const player = new MediaPlayer();
player.play("/sdcard/Music/test.mp3");
setInterval(() => {
    console.log(player.currentPosition);
}, 1000);参见
目录 
Constructors 
Accessors 
方法 
- awaitForCompletion
 - pause
 - play
 - prepare
 - prepareSync
 - release
 - reset
 - seekTo
 - setDataSource
 - setLooping
 - setScreenOnWhilePlaying
 - setVolume
 - start
 - stop
 
Constructors 
constructor 
- new MediaPlayer()
 
Accessors 
androidMediaPlayer 
getandroidMediaPlayer():MediaPlayer
安卓原生播放器的对象。
参见
返回值
MediaPlayer
currentPosition 
getcurrentPosition():number
当前播放位置。单位毫秒。
参见
返回值
number
duration 
getduration():number
音乐时长。单位毫秒。
参见
返回值
number
isPlaying 
getisPlaying():boolean
是否正在播放
参见
返回值
boolean
方法 
awaitForCompletion 
- awaitForCompletion(): 
Promise<void> 
等待播放完成
参见
setOnCompletionListener(android.media.MediaPlayer.OnCompletionListener)
返回值
Promise<void>
pause 
- pause(): 
void 
暂停播放
参见
返回值
void
play 
- play(
uri,volume?,looping?):Promise<void> 
播放音乐。在async函数中可使用await关键字等待播放完成。
参数
| 名称 | 类型 | 描述 | 
|---|---|---|
uri | string | 音乐文件路径,或网址。 | 
volume? | number | 播放音量,为0~1的浮点数,默认为1。 | 
looping? | boolean | 是否循环播放,如果looping为true则循环播放,默认为false。 | 
返回值
Promise<void>
prepare 
- prepare(): 
Promise<void> 
准备播放器进行播放。手动设置数据源后,需要调用prepare()或prepareSync()后才能开始播放,用于加载或下载音乐文件。
如果直接使用paly()函数播放,则无需调用本函数,因为play()函数会自动调用prepare()。
示例
"nodejs";
const { MediaPlayer } = require("media");
async function main() {
    const player = new MediaPlayer();
    player.setDataSource("https://www.example.com/test.mp3");
    await player.prepare();
    player.start();
    await player.awaitForCompletion();
}
main();参见
返回值
Promise<void>
prepareSync 
- prepareSync(): 
void 
同步准备播放器进行播放。手动设置数据源后,需要调用prepare()或prepareSync()后才能开始播放,用于加载或下载音乐文件。
如果直接使用paly()函数播放,则无需调用本函数,因为play()函数会自动调用prepare()。
示例
"nodejs";
const { MediaPlayer } = require("media");
const player = new MediaPlayer();
player.setDataSource("/sdcard/Music/test.mp3");
player.prepareSync();
player.start();
$autojs.keepRunning();参见
返回值
void
release 
- release(): 
void 
释放与此 MediaPlayer 对象关联的资源。推荐在使用完 MediaPlayer后立即调用此方法。尤其是在应用的UI进入后台时,应调用此方法以释放 MediaPlayer 对象,除非应用程序有特殊的需求保持对象存活。
若未能立即调用该方法释放资源,除了占用不必要的资源(例如内存和编解码器的实例)外,还可能导致移动设备持续消耗电池。
参见
返回值
void
reset 
- reset(): 
void 
重置播放器
参见
返回值
void
seekTo 
- seekTo(
msec):Promise<void> 
跳转到指定的时间播放。
参见
参数
| 名称 | 类型 | 描述 | 
|---|---|---|
msec | number | 指定的时间,单位为毫秒。 | 
返回值
Promise<void>
setDataSource 
- setDataSource(
path):void 
设置音乐播放的数据源,支持本地文件路径、网络音乐地址。
参见
setDataSource(java.lang.String)
参数
| 名称 | 类型 | 描述 | 
|---|---|---|
path | string | 数据源路径,比如/sdcards/test.mp3, http://www.example.com/test.mp3 | 
返回值
void
setLooping 
- setLooping(
looping):void 
设置循环播放
参见
参数
| 名称 | 类型 | 描述 | 
|---|---|---|
looping | boolean | 是否循环播放,如果looping为true则循环播放,默认为false。 | 
返回值
void
setScreenOnWhilePlaying 
- setScreenOnWhilePlaying(
keep):void 
设置播放时是否保持屏幕常亮
参见
setScreenOnWhilePlaying(boolean)
参数
| 名称 | 类型 | 描述 | 
|---|---|---|
keep | boolean | 是否保持常亮 | 
返回值
void
setVolume 
- setVolume(
leftVolume,rightVolume?):void 
设置音量
参见
参数
| 名称 | 类型 | 描述 | 
|---|---|---|
leftVolume | number | 左声道音量,为0~1的浮点数。 | 
rightVolume? | number | 右声道音量,为0~1的浮点数,默认等同于左声道。 | 
返回值
void
start 
- start(): 
void 
开始播放
参见
返回值
void
stop 
- stop(): 
void 
停止播放
参见
返回值
void
