android 音频播放器,(二)SoundPool简介

1.SoundPool概述

SoundPool类管理和播放低延迟音频资源。SoundPool还管理一次渲染的音频流的数量,构造SoundPool对象时,maxStreams参数为从单个SoundPool播放的最大流数。

设置非零循环值,可以循环播放声音。值为-1声音永远循环,这种情况,应用程序必须显式调用stop()函数来停止声音,任何其他非零值都会重复播放指定次数。

播放速率也可以更改,播放速率为1.0时,声音将以原始频率播放。

2.SoundPool

源码路径:
frameworks/base/media/java/android/media/SoundPool.java

源码接口:

// Load the sound from the specified APK resource

public int load(Context context, int resId, int priority)

// Play a sound from a sound ID

public final int play(int soundID, float leftVolume, float rightVolume,int priority, int loop, float rate)

// Pause a playback stream

public native final void pause(int streamID);

// Stop a playback stream

public native final void stop(int streamID);

// Set stream volume

public final void setVolume(int streamID, float leftVolume, float rightVolume)

以上,SoundPool播放模式简要说明,可以参照源码进行查看。

可以参考示例进行调试:android 音频播放器,(一)SoundPool音频播放实例-CSDN博客

相关推荐
alexhilton8 小时前
将应用迁移到Navigation 3:痛点、加班和紧急修复
android·kotlin·android jetpack
karry_k13 小时前
MyBatis批量insert-select踩坑:useGeneratedKeys=true 可能让PostgreSQL返回大量插入结果
java·后端
karry_k13 小时前
PostgreSQL 在 MyBatis 中执行正常 SQL 失效:一次 DELETE USING 踩坑记录
java·后端
杉氧14 小时前
Navigation Compose 深度实践:如何优雅地串联起你的全栈 App?
android·架构·android jetpack
SamDeepThinking17 小时前
从源码到代码:MyBatis-Flex 与 MyBatis-Plus 的逐项对比
java·后端·程序员
雨白17 小时前
指针与数组的核心机制
android
她的男孩19 小时前
Spring Boot 接 Flowable 工作流:用 3 个注解搭一个请假审批流程
java·后端·架构
荣码21 小时前
LLM结构化输出:让AI返回JSON而不是废话,我踩了4个坑
java·python
黄林晴1 天前
Room 3.0 正式发布!包名彻底重构,KMP 成为核心主线
android·android jetpack