嵌入式端音频开发(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月前
|
传感器 数据采集 存储
ARM Linux摄像头传感器数据处理全景视野:从板端编码视频到高级应用(一)
ARM Linux摄像头传感器数据处理全景视野:从板端编码视频到高级应用
169 0
|
3月前
|
传感器 Linux 数据处理
ARM Linux摄像头传感器数据处理全景视野:从板端编码视频到高级应用(二)
ARM Linux摄像头传感器数据处理全景视野:从板端编码视频到高级应用
87 1
|
2月前
|
Web App开发 JavaScript 前端开发
如何使用 WebRTC 获取摄像头视频
WebRTC 是一个强大的工具,能够帮助开发者在不安装任何第三方软件的情况下,在浏览器中实现实时视频和音频通信。通过简单的 HTML 和 JavaScript 代码,你可以轻松创建一个视频捕捉页面,为用户提供实时视频流。这种技术不仅适用于视频聊天应用,还可以扩展到各种实时交互场景中,如远程教学、在线协作等。
24 0
Audacity 软件对音频降噪的工作原理
Audacity 软件对音频降噪的工作原理
|
3月前
|
传感器 存储 编解码
ARM Linux摄像头传感器数据处理全景视野:从板端编码视频到高级应用(三)
ARM Linux摄像头传感器数据处理全景视野:从板端编码视频到高级应用
133 2
|
11月前
|
编解码 Android开发 开发者
Android平台GB28181设备接入模块如何实现实时视频和本地录像双码流编码
我们在做Android平台GB28181设备接入模块的时候,遇到这样的场景,比如执法记录仪或智慧工地等场景下,由于GB28181设备接入模块,注册到国标平台后,平时只是心跳保持,或还有实时位置订阅,查看视频的时候,是按需看,而且有时候,网络环境并不是太好,所以,催生了这样一个诉求:部分开发者希望能本地录像的时候,录制高分辨率(比如1920*1080),国标平台侧发起实时视频查看请求的时候,上传低分辨率(如1280*720)数据,有点类似于IPC的主码流和子码流。
|
Linux
嵌入式 V4L2 应用编程(1):抓取 uvc camrea 图像
嵌入式 V4L2 应用编程(1):抓取 uvc camrea 图像
294 0
|
XML Java Android开发
移动应用程序设计基础——安卓动画与视音频播放器的实现
《移动应用程序设计基础》实验6 安卓动画与视音频播放器的实现 通过本实验,使得学生掌握导航的制作基本方法,掌握安卓动画和多媒体播放器的制作。 【实验内容】 1、 实现底部导航功能,包括Tween动画、Frame动画、音频播放、视频播放四个按键。 2、 实现动画功能,其中Tween动画可在界面选择四种类型的动画效果。 3、 实现音频播放。 4、 实现视频播放。 ...
231 0
移动应用程序设计基础——安卓动画与视音频播放器的实现
|
编解码 算法 语音技术
提升 RTC 音频体验 - 从搞懂硬件开始
本文字数:2143 字 阅读完需:约 7 分钟
提升 RTC 音频体验 - 从搞懂硬件开始
|
机器学习/深度学习 人工智能 算法
嵌入式端音频开发(Unisound篇)之 7.1 蜂鸟M离线语音芯片简介
嵌入式端音频开发(Unisound篇)之 7.1 蜂鸟M离线语音芯片简介
589 0
嵌入式端音频开发(Unisound篇)之 7.1 蜂鸟M离线语音芯片简介