嵌入式端音频开发(Unisound篇)之 7.5 蜂鸟M音频控制

简介: 嵌入式端音频开发(Unisound篇)之 7.5 蜂鸟M音频控制

1.音频控制说明

控制说明:


  1. 可播放tools/scripts路径下的音频,文件名以序号区分
  2. 调用播放接口是异步不堵塞的
  3. AUDIO_PLAY_TYPE目前只支持AUDIO_PLAY_REPLY


2.音频控制接口

int  user_player_play (AUDIO_PLAY_TYPE type, const char *file) 
  播放文件 更多...
int  user_player_reply_list_num (const char *file_list, int num) 
  播放列表序号音频 更多...
int  user_player_reply_list_random (const char *file_list) 
  随机播放列表音频 更多...
int  user_player_reply_list_in_order (const char *file_list) 
  顺序播放列表中所有音频 更多...
int  user_player_stop (AUDIO_PLAY_TYPE type) 
  停止播放 更多...
 int  user_player_set_volume_min (void) 
  设置最小音量 
 int  user_player_set_volume_max (void) 
  设置最大音量 
 int  user_player_set_volume_mid (void) 
  设置中等音量 
 int  user_player_set_volume_up (void) 
  增加音量 
 int  user_player_set_volume_down (void) 
  减小音量 
 int  user_player_speaker_mute (void) 
  设置喇叭静音 
 int  user_player_speaker_unmute (void) 
  取消设置喇叭静音 
 int  user_player_shutup_mode (void) 
  系统进入无回复播报模式 
 int  user_player_shutup_exit (void) 
  系统退出无回复播报模式  
函数说明
◆ user_player_play()
int user_player_play  ( AUDIO_PLAY_TYPE  type,  
  const char *  file  
 )   
参数
type 播放类型  
file 播放文件名  
返回值
0 操作成功  
-1 操作失败  
◆ user_player_reply_list_in_order()
int user_player_reply_list_in_order  ( const char *  file_list )  
参数
file_list 文件列表 [1, 2, 3]  
返回值
0 操作成功  
-1 操作失败  
◆ user_player_reply_list_num()
int user_player_reply_list_num  ( const char *  file_list,  
  int  num  
 )   
参数
file_list 文件列表 [1, 2, 3]  
num 列表序号  
返回值
0 操作成功  
-1 操作失败  
◆ user_player_reply_list_random()
int user_player_reply_list_random  ( const char *  file_list )  
参数
file_list 文件列表 [1, 2, 3]  
返回值
0 操作成功  
-1 操作失败  
◆ user_player_stop()
int user_player_stop  ( AUDIO_PLAY_TYPE  type )  
参数
type 播放类型  
返回值
0 操作成功  
-1 操作失败  
3.音频控制demo
#include "user_player.h"
#define TAG "player_demo"
static void _player_test_process(void *args) {
  while (1) {
    uni_sleep(10);
    user_player_set_volume_min();
    LOGT(TAG, "set min vol");
    /*播放9.mp3文件*/
    user_player_play(AUDIO_PLAY_REPLY, "9"); //9.mp3
    uni_sleep(10);
    user_player_set_volume_mid();
    LOGT(TAG, "set mid vol");
    /*播放列表中的101.MP3文件*/
    user_player_reply_list_num("[9,101,102]", 1);
    uni_sleep(10);
    user_player_set_volume_max();
    LOGT(TAG, "set max vol");
    /*随机播放列表中的某个文件*/
    user_player_reply_list_random("[9,101,102]");
    uni_sleep(10);
    /*顺序播放列表中的所有文件*/
    user_player_reply_list_in_order("[9,101,102]");
    uni_sleep(10);
  }
}
static Result _create_player_test_thread(void) {
  thread_param param;
  uni_pthread_t pid;
  uni_memset(&param, 0, sizeof(param));
  param.stack_size = STACK_SMALL_SIZE;
  param.priority = OS_PRIORITY_LOW;
  uni_strncpy(param.task_name, "player_test", sizeof(param.task_name) - 1);
  if (0 != uni_pthread_create(&pid, &param,
                              _player_test_process, NULL)) {
    LOGE(TAG, "create thread failed");
    return E_FAILED;
  }
  uni_pthread_detach(pid);
  return E_OK;
}
int hb_player(void) {
  _create_player_test_thread();
  return 0;
}


目录
相关文章
|
3月前
|
安全 API 开发工具
Android平台RTMP推送|轻量级RTSP服务如何实现麦克风|扬声器声音采集切换
Android平台扬声器播放声音的采集,在无纸化同屏等场景下,意义很大,早期低版本的Android设备,是没法直接采集扬声器audio的(从Android 10开始支持),所以,如果需要采集扬声器audio,需要先做系统版本判断,添加相应的权限。
|
3月前
|
编解码 开发工具 Android开发
Android平台实现屏幕录制(屏幕投影)|音频播放采集|麦克风采集并推送RTMP或轻量级RTSP服务
Android平台屏幕采集、音频播放声音采集、麦克风采集编码打包推送到RTMP和轻量级RTSP服务的相关技术实现,做成高稳定低延迟的同屏系统,还需要有配套好的RTMP、RTSP直播播放器
|
应用服务中间件 nginx
流媒体技术学习笔记之(十四)FFmpeg进行笔记本摄像头+麦克风实现流媒体直播服务
FFmpeg推送视频流,Nginx RTMP模块转发,VLC播放器播放,实现整个RTMP直播 查看本机电脑的设备 ffmpeg -list_devices true -f dshow -i dummy 红色标记表示视频设备和麦克风设备 看到乱码了吧!来这里查看哦   FFmpeg编码推送到R...
3498 0
|
7月前
|
编解码 API 数据处理
【摄像头数据处理】摄像头数据处理:使用FFmpeg合并、编码和封装视频流
【摄像头数据处理】摄像头数据处理:使用FFmpeg合并、编码和封装视频流
397 0
|
编解码 Android开发 开发者
Android平台GB28181设备接入模块如何实现实时视频和本地录像双码流编码
我们在做Android平台GB28181设备接入模块的时候,遇到这样的场景,比如执法记录仪或智慧工地等场景下,由于GB28181设备接入模块,注册到国标平台后,平时只是心跳保持,或还有实时位置订阅,查看视频的时候,是按需看,而且有时候,网络环境并不是太好,所以,催生了这样一个诉求:部分开发者希望能本地录像的时候,录制高分辨率(比如1920*1080),国标平台侧发起实时视频查看请求的时候,上传低分辨率(如1280*720)数据,有点类似于IPC的主码流和子码流。
|
编解码 Android开发 数据安全/隐私保护
Android平台如何实现外部编码后(H.264/H.265)数据实时预览播放
我们在对接开发者的时候,遇到这样的诉求:除了正常的RTMP、RTSP直播播放外,有些硬件设备输出编码后(H.264/H.265)的数据,比如无人机或类似硬件产品,回调出来的H.264/H.265数据,除了正常转推到RTMP、轻量级RTSP服务或GB28181外,还需要本地预览甚至重新对数据做二次处理,基于这样的场景诉求,我们开发了外部编码后数据实时预览播放模块。
|
编解码 Android开发 C语言
【Android 高性能音频】AAudio 音频库 简介 ( AAudio 音频库简介 | 音频流 | 音频设备 | 共享模式 | 数据模式 )
【Android 高性能音频】AAudio 音频库 简介 ( AAudio 音频库简介 | 音频流 | 音频设备 | 共享模式 | 数据模式 )
764 0
|
XML Java Android开发
移动应用程序设计基础——安卓动画与视音频播放器的实现
《移动应用程序设计基础》实验6 安卓动画与视音频播放器的实现 通过本实验,使得学生掌握导航的制作基本方法,掌握安卓动画和多媒体播放器的制作。 【实验内容】 1、 实现底部导航功能,包括Tween动画、Frame动画、音频播放、视频播放四个按键。 2、 实现动画功能,其中Tween动画可在界面选择四种类型的动画效果。 3、 实现音频播放。 4、 实现视频播放。 ...
254 0
移动应用程序设计基础——安卓动画与视音频播放器的实现
|
编解码 算法 语音技术
提升 RTC 音频体验 - 从搞懂硬件开始
本文字数:2143 字 阅读完需:约 7 分钟
提升 RTC 音频体验 - 从搞懂硬件开始
|
Java API Android开发
【Android 高性能音频】Oboe 音频流打开后 耳机 / 音箱 插拔事件处理 ( 设置 Oboe 音频设备 ID | setDeviceId 函数原型 | AudioStream 音频流 )
【Android 高性能音频】Oboe 音频流打开后 耳机 / 音箱 插拔事件处理 ( 设置 Oboe 音频设备 ID | setDeviceId 函数原型 | AudioStream 音频流 )
322 0
【Android 高性能音频】Oboe 音频流打开后 耳机 / 音箱 插拔事件处理 ( 设置 Oboe 音频设备 ID | setDeviceId 函数原型 | AudioStream 音频流 )