类: 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
get
androidMediaPlayer():MediaPlayer
安卓原生播放器的对象。
参见
返回值
MediaPlayer
currentPosition
get
currentPosition():number
当前播放位置。单位毫秒。
参见
返回值
number
duration
get
duration():number
音乐时长。单位毫秒。
参见
返回值
number
isPlaying
get
isPlaying():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