跳至主要內容

类: MediaPlayer

约 1007 字大约 3 分钟道无涯

media.MediaPlayer

多媒体播放器。提供更丰富的音乐播放管理功能。比如播放、暂停、进度监听等。

示例

"nodejs";
const { MediaPlayer } = require("media");
const player = new MediaPlayer();
player.play("/sdcard/Music/test.mp3");
setInterval(() => {
    console.log(player.currentPosition);
}, 1000);

参见

https://developer.android.google.cn/reference/android/media/MediaPlayeropen in new window

目录

Constructors

Accessors

方法

Constructors

constructor

new MediaPlayer()

Accessors

androidMediaPlayer

get androidMediaPlayer(): MediaPlayer

安卓原生播放器的对象。

参见

https://developer.android.google.cn/reference/android/media/MediaPlayeropen in new window

返回值

MediaPlayer


currentPosition

get currentPosition(): number

当前播放位置。单位毫秒。

参见

https://developer.android.google.cn/reference/android/media/MediaPlayer#getCurrentPosition()open in new window

返回值

number


duration

get duration(): number

音乐时长。单位毫秒。

参见

https://developer.android.google.cn/reference/android/media/MediaPlayer#getDuration()open in new window

返回值

number


isPlaying

get isPlaying(): boolean

是否正在播放

参见

https://developer.android.google.cn/reference/android/media/MediaPlayer#isPlaying()open in new window

返回值

boolean

方法

awaitForCompletion

awaitForCompletion(): Promise<void>

等待播放完成

参见

https://developer.android.google.cn/reference/android/media/MediaPlayer#setOnCompletionListener(android.media.MediaPlayer.OnCompletionListener)open in new window

返回值

Promise<void>


pause

pause(): void

暂停播放

参见

https://developer.android.google.cn/reference/android/media/MediaPlayer#pause()open in new window

返回值

void


play

play(uri, volume?, looping?): Promise<void>

播放音乐。在async函数中可使用await关键字等待播放完成。

参数

名称类型描述
uristring音乐文件路径,或网址。
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();

参见

https://developer.android.google.cn/reference/android/media/MediaPlayer#prepareAsync()open in new window

返回值

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();

参见

https://developer.android.google.cn/reference/android/media/MediaPlayer#prepare()open in new window

返回值

void


release

release(): void

释放与此 MediaPlayer 对象关联的资源。推荐在使用完 MediaPlayer后立即调用此方法。尤其是在应用的UI进入后台时,应调用此方法以释放 MediaPlayer 对象,除非应用程序有特殊的需求保持对象存活。

若未能立即调用该方法释放资源,除了占用不必要的资源(例如内存和编解码器的实例)外,还可能导致移动设备持续消耗电池。

参见

https://developer.android.google.cn/reference/android/media/MediaPlayer#release()open in new window

返回值

void


reset

reset(): void

重置播放器

参见

https://developer.android.google.cn/reference/android/media/MediaPlayer#reset()open in new window

返回值

void


seekTo

seekTo(msec): Promise<void>

跳转到指定的时间播放。

参见

https://developer.android.google.cn/reference/android/media/MediaPlayer#seekTo(int)open in new window

参数

名称类型描述
msecnumber指定的时间,单位为毫秒。

返回值

Promise<void>


setDataSource

setDataSource(path): void

设置音乐播放的数据源,支持本地文件路径、网络音乐地址。

参见

https://developer.android.google.cn/reference/android/media/MediaPlayer#setDataSource(java.lang.String)open in new window

参数

名称类型描述
pathstring数据源路径,比如/sdcards/test.mp3, http://www.example.com/test.mp3open in new window

返回值

void


setLooping

setLooping(looping): void

设置循环播放

参见

https://developer.android.google.cn/reference/android/media/MediaPlayer#setLooping(boolean)open in new window

参数

名称类型描述
loopingboolean是否循环播放,如果looping为true则循环播放,默认为false。

返回值

void


setScreenOnWhilePlaying

setScreenOnWhilePlaying(keep): void

设置播放时是否保持屏幕常亮

参见

https://developer.android.google.cn/reference/android/media/MediaPlayer#setScreenOnWhilePlaying(boolean)open in new window

参数

名称类型描述
keepboolean是否保持常亮

返回值

void


setVolume

setVolume(leftVolume, rightVolume?): void

设置音量

参见

https://developer.android.google.cn/reference/android/media/MediaPlayer#setVolume(float, float)open in new window

参数

名称类型描述
leftVolumenumber左声道音量,为0~1的浮点数。
rightVolume?number右声道音量,为0~1的浮点数,默认等同于左声道。

返回值

void


start

start(): void

开始播放

参见

https://developer.android.google.cn/reference/android/media/MediaPlayer#start()open in new window

返回值

void


stop

stop(): void

停止播放

参见

https://developer.android.google.cn/reference/android/media/MediaPlayer#stop()open in new window

返回值

void