love_lin

love_lin

1个粉丝

22

问答

0

专栏

1

资料

love_lin  发布于  2016-03-22 09:55:34
采纳率 0%
22个问答
7083

海思3516A音频采集过程中,如何动态的设置音量

 
各位,海思音频如何在采集的过程中,动态的设置音量呢,包括开关静音模式。有实现过的大神帮个忙,谢谢
我来回答
回答9个
时间排序
认可量排序

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2016-03-22 10:00:47
认可0
调用ioctl来控制
如果是内置audio codec,海思提供
如果是外置audio codec,那就跟据驱动接口来做

love_lin

1个粉丝

22

问答

0

专栏

1

资料

love_lin 2016-03-22 10:23:19
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=27112&ptid=10610]zhuangweiye 发表于 2016-3-22 10:00[/url]
调用ioctl来控制
如果是内置audio codec,海思提供
如果是外置audio codec,那就跟据驱动接口来做[/quote]

哦,ioctl是在初始化的时候已经设置了音量了吧,但是我现在的需求是在音频采集的过程中在调节音量,你说的这种方式我试过了,接口我封装出来了,这些如果在初始化的过程中都是可以用海思提供的接口实现的。[code]/******************************************************************************
* function : set Ao volume
******************************************************************************/
HI_S32 SDK_COMM_AUDIO_SetAoVolumeDb(HI_S32 s32VolDb){
        HI_S32 s32Ret = HI_FAILURE;
       
        s32Ret = HI_MPI_AO_SetVolume(stDevChnNo.AoDev,s32VolDb);
        if(s32Ret != HI_SUCCESS){
                printf("set ao device volume failed: %d\n",s32Ret);
        }
        return s32Ret;
}   

/******************************************************************************
* function : get Ao volume
******************************************************************************/
HI_S32 SDK_COMM_AUDIO_GetAoVolumeDb(HI_S32 *pVolDb){
        HI_S32 s32Res = HI_FAILURE;

        s32Res = HI_MPI_AO_GetVolume(stDevChnNo.AoDev,pVolDb);       
        if(s32Res != HI_SUCCESS){
                printf("get ao device volume failed: %d\n",s32Res);
        }
        return s32Res;
}


/******************************************************************************
* function : set Ao mute state
******************************************************************************/
HI_S32 SDK_COMM_AUDIO_SetAoMuteState(HI_BOOL bEnable){
        HI_S32 s32Res = HI_FAILURE;

        s32Res = HI_MPI_AO_SetMute(stDevChnNo.AoDev,bEnable,NULL);       
        if(s32Res != HI_SUCCESS){
                printf("set ao mute state failed: %d\n",s32Res);
        }
        return s32Res;
}
/******************************************************************************
* function : get Ao mute state
******************************************************************************/
HI_S32 SDK_COMM_AUDIO_GetAoMuteState(HI_BOOL *pbEnable){
        HI_S32 s32Res = HI_FAILURE;

        s32Res = HI_MPI_AO_GetMute(stDevChnNo.AoDev,pbEnable,NULL);       
        if(s32Res != HI_SUCCESS){
                printf("get ao mute state failed: %d\n",s32Res);
        }
        return s32Res;
}[/code]

这是设置VO的音量,VI的音量我在[code]        /********************************************
      step 1: config audio codec
    ********************************************/
        s32Ret = SAMPLE_INNER_CODEC_CfgAudio(&stAioAttr);
        if (HI_SUCCESS != s32Ret)
        {
            printf("Config inner audio codec error\n");
            goto END_DEV_START_0;
        }[/code]已经固定了

现在的问题点是,我在采集音频的过程中,来动态的调节音量,请问能实现吗??谢谢

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2016-03-22 10:33:03
认可0
"现在的问题点是,我在采集音频的过程中,来动态的调节音量,请问能实现吗??谢谢"

我理解是楼主想要把从ai得到的audio数据放大或缩小,楼主用的内置codec

想改大小的时候直接调
int iVol;
iVol = xx;
if (ioctl(s32Acodec_Fd, ACODEC_SET_INPUT_VOL, &iVol))
{
printf("ioctl err!\n");
}
不就好了吗?

love_lin

1个粉丝

22

问答

0

专栏

1

资料

love_lin 2016-03-22 10:58:31
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=27116&ptid=10610]zhuangweiye 发表于 2016-3-22 10:33[/url]
"现在的问题点是,我在采集音频的过程中,来动态的调节音量,请问能实现吗??谢谢"

我理解是楼主想要把 ...[/quote]

谢谢了,现在好像可以了。
请问你有实现过在视频直播过程中,来动态水平镜像和垂直翻转视频图像吗?谢谢!

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2016-03-22 11:33:52
认可0
不太理解这个动态的概念

一般来说, 如果vichn支持bMirror/bFlip, 那么在需要改变的时候
HI_MPI_VI_GetChnAttr()
HI_MPI_VI_DisableChn()
...//change vichn setting
HI_MPI_VI_SetChnAttr()
HI_MPI_VI_EnableChn()
就可以了

如果Vi不支持, 是VPSS支持,那么可以用相似的流程来处理

love_lin

1个粉丝

22

问答

0

专栏

1

资料

love_lin 2016-03-22 14:13:17
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=27123&ptid=10610]zhuangweiye 发表于 2016-3-22 11:33[/url]
不太理解这个动态的概念

一般来说, 如果vichn支持bMirror/bFlip, 那么在需要改变的时候
[/quote]

嗯,之前是我考虑不周,参数设置错了,谢谢你哈

feiyashan

0个粉丝

11

问答

0

专栏

0

资料

feiyashan 2017-09-02 11:11:17
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=27112&ptid=10610]zhuangweiye 发表于 2016-3-22 10:00[/url]
调用ioctl来控制
如果是内置audio codec,海思提供
如果是外置audio codec,那就跟据驱动接口来做[/quote]

我用的是3531a平台,现在通过海思接口调节音量。想请教一下ai的音量调节是这个函数吗 HI_MPI_AI_SetVqeVolume

flyarcher

0个粉丝

0

问答

0

专栏

0

资料

flyarcher 2017-09-04 10:19:21
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=63293&ptid=10610]feiyashan 发表于 2017-9-2 11:11[/url]
我用的是3531a平台,现在通过海思接口调节音量。想请教一下ai的音量调节是这个函数吗 HI_MPI_AI_SetVqeVo ...[/quote]

直接有楼上的方法好一点

wfknife_free

0个粉丝

4

问答

0

专栏

0

资料

wfknife_free 2017-09-10 17:18:39
认可0
直接设置就可以的。 直接就可以生效
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区