HarmonyOS鸿蒙Next中求SoundPool完整例程。

HarmonyOS鸿蒙Next中求SoundPool完整例程。 万分感谢。对文档里的介绍看不太懂。

4 回复

更多关于HarmonyOS鸿蒙Next中求SoundPool完整例程。的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


自己搞明白了。结贴。改天发解决办法。

在HarmonyOS鸿蒙Next中,SoundPool用于播放短音频资源,适合处理音效播放需求。以下是一个完整的SoundPool例程:

import soundPool from '@ohos.multimedia.soundpool';
import fileIO from '@ohos.fileio';

// 创建SoundPool实例
let soundPoolInstance = soundPool.createSoundPool(5, soundPool.AudioStreamType.MUSIC, 0);

// 加载音频资源
let soundId = soundPoolInstance.load('/data/storage/el1/bundle/sound.mp3', 1);

// 播放音频
soundPoolInstance.play(soundId, 1.0, 1.0, 1, 0, 1.0);

// 暂停音频
soundPoolInstance.pause(soundId);

// 恢复音频
soundPoolInstance.resume(soundId);

// 停止音频
soundPoolInstance.stop(soundId);

// 释放SoundPool资源
soundPoolInstance.release();

该例程展示了如何创建SoundPool实例、加载音频资源、播放、暂停、恢复、停止音频以及释放资源。确保音频文件路径正确,并根据需要调整参数。

在HarmonyOS鸿蒙Next中,使用SoundPool播放音频的完整例程如下:

import ohos.media.soundpool.SoundPool;
import ohos.media.soundpool.SoundPoolOptions;
import ohos.media.soundpool.SoundPoolListener;

public class SoundPoolExample {
    private SoundPool soundPool;
    private int soundId;

    public void initSoundPool() {
        SoundPoolOptions options = new SoundPoolOptions.Builder()
                .setMaxStreams(5) // 设置最大流数
                .build();
        soundPool = new SoundPool(options);

        // 加载音频资源
        soundId = soundPool.load("/data/audio/sample.mp3", 1);

        // 设置播放完成监听器
        soundPool.setSoundPoolListener(new SoundPoolListener() {
            @Override
            public void onLoadComplete(int soundId, int status) {
                if (status == SoundPool.SUCCESS) {
                    soundPool.play(soundId, 1.0f, 1.0f, 1, 0, 1.0f);
                }
            }
        });
    }

    public void releaseSoundPool() {
        if (soundPool != null) {
            soundPool.release();
            soundPool = null;
        }
    }
}

此例程展示了如何初始化SoundPool、加载音频资源、设置播放完成监听器以及释放资源。

回到顶部