Mike_86

Mike_86

1个粉丝

9

问答

0

专栏

0

资料

Mike_86  发布于  2014-12-03 09:05:27
采纳率 0%
9个问答
7211

3518c 音频控制声音大小问题

 
我使用海思3518c中的音频例子程序,编码格式使用G711u,在播放时,声音太小。根据文档提供的接口,使用ioctl对acodec进行控制。
使用ACODEC_SET_DACL_VOL和ACODEC_SET_DACR_VOL命令,调节输出时的音量大小,没有错误提示,但也没有效果。
使用ACODEC_DAC_SOFT_MUTE,对其软静音,是可以的。
应该如何设置,可以控制其输出的音量?
我来回答
回答15个
时间排序
认可量排序

AOC

0个粉丝

19

问答

0

专栏

15

资料

AOC 2014-12-03 09:23:01
认可0
你音频出来后接在什么上面的?

Mike_86

1个粉丝

9

问答

0

专栏

0

资料

Mike_86 2014-12-03 09:53:40
认可0
使用3518c内部的acodec,使用默认的LINEIN,连的是耳机。

AOC

0个粉丝

19

问答

0

专栏

15

资料

AOC 2014-12-03 10:28:25
认可0
好吧,可能是地没接好。 以前遇到过声音小,地没接好。

Mike_86

1个粉丝

9

问答

0

专栏

0

资料

Mike_86 2014-12-03 11:09:02
认可0
有换过板子,应该不是硬件。

AOC

0个粉丝

19

问答

0

专栏

15

资料

AOC 2014-12-03 11:21:56
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=9930&ptid=4639]Mike_86 发表于 2014-12-3 11:09[/url]
有换过板子,应该不是硬件。[/quote]

到耳机的地和板子地接好。有的耳机地位置在第几节不一样的。以前地不对声音很小。有出现过。

Mike_86

1个粉丝

9

问答

0

专栏

0

资料

Mike_86 2014-12-03 11:35:49
认可0
恩,确实。我使用的耳机不能插到底,要不就没声音了。
现在我用耳机都是空出一节,这样就有声音了。但是调节音量无变化。
我想如果是接地不好,音量整体低,但是调节应该会有变化才对。

hc0000

0个粉丝

0

问答

0

专栏

0

资料

hc0000 2016-05-03 15:46:42
认可0
楼主,我也一样,用ioctl ACODEC_SET_DACL_VOL控制输出音量不起作用,这个问题你解决了么

H伟伯爵H

0个粉丝

0

问答

0

专栏

0

资料

H伟伯爵H 2016-05-11 09:30:36
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=9926&ptid=4639]Mike_86 发表于 2014-12-3 09:53[/url]
使用3518c内部的acodec,使用默认的LINEIN,连的是耳机。[/quote]

物理链路我和你一样,还未调试:D

H伟伯爵H

0个粉丝

0

问答

0

专栏

0

资料

H伟伯爵H 2016-05-11 17:31:55
认可0
基本调试能输出音频数据,查看日志也有通道0也有数据,不过声音挺小,鉴于不同耳机不能准确定位,想自行解码通过PC端进行播放。
目前物理链路也是通过运放直接输出。
有大神能指导下吗?

H伟伯爵H

0个粉丝

0

问答

0

专栏

0

资料

H伟伯爵H 2016-05-14 10:35:56
认可0
我使用HI_MPI_AO_SetVolume
海思提供的库函数是能够进行声音的控制的

henman

0个粉丝

7

问答

0

专栏

0

资料

henman 2016-05-18 09:02:29
认可0
3518c,我用ioctl不起作用,所以我一直都认为输出音量是无法调节的,而咪头倒是可以调节。

我还专门试了一下HI_MPI_AO_SetVolume和HI_MPI_AO_GetVolume,每次都报错误0xa0168008 HI_ERR_AO_NOT_SUPPORT  操作不被支持。所以,还有办法解决么?

henman

0个粉丝

7

问答

0

专栏

0

资料

henman 2016-05-18 09:03:08
认可0
sdk版本号0A0,不知道有没有关系呢?

H伟伯爵H

0个粉丝

0

问答

0

专栏

0

资料

H伟伯爵H 2016-05-18 09:34:37
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=30166&ptid=4639]henman 发表于 2016-5-18 09:02[/url]
3518c,我用ioctl不起作用,所以我一直都认为输出音量是无法调节的,而咪头倒是可以调节。

我还专门试了 ...[/quote]

有进行绑定通道吗?配置是否正确呢?进行一下打印排查吧。
我使用sample_audio是可以正常工作的。

henman

0个粉丝

7

问答

0

专栏

0

资料

henman 2016-05-18 14:27:31
认可0
楼上哥们,你确定在3518c上面可以调用HI_MPI_AO_SetVolume?
我看sample_audio里面本就没有任何和输出音量有关的代码,用ioctl控制mic音量的代码倒是看到了。
然后我修改sample_comm_audio.c中的SAMPLE_COMM_AUDIO_StartAo函数,我在HI_MPI_AO_Enable使能之前和之后都试过调用HI_MPI_AO_SetVolume,一律报错。

报错如下:
/tmp/nfs_debug# ./sample_audio

/************************************/
press sample command as follows!
1:  send audio frame to AENC channel form AI, save them
2:  read audio stream from file,decode and send AO
3:  start AI to AO loop
q:  quit whole audio sample

sample command:1
pageaddr:40223000,dgbaddr:40223000,size:0
Ai(0,0) bind to AencChn:0 ok!
SAMPLE_COMM_AUDIO_StartAo: HI_MPI_AO_SetVolume(0) failed with 0xa0168008!
s32Ret=0xffffffff,fuc:SAMPLE_AUDIO_AiAenc,line:274
ModId:24() is not supported !
Segmentation fault

代码如下:
HI_S32 SAMPLE_COMM_AUDIO_StartAo(AUDIO_DEV AoDevId, AO_CHN AoChn,
        AIO_ATTR_S *pstAioAttr, AUDIO_RESAMPLE_ATTR_S *pstAoReSmpAttr)
{
    HI_S32 s32Ret;

    s32Ret = HI_MPI_AO_SetPubAttr(AoDevId, pstAioAttr);
    if(HI_SUCCESS != s32Ret)
    {
        printf("%s: HI_MPI_AO_SetPubAttr(%d) failed with %#x!\n", __FUNCTION__, \
               AoDevId,s32Ret);
        return HI_FAILURE;
    }

//     s32Ret = HI_MPI_AO_SetVolume(AoDevId, AoChn, 0);
//     if(HI_SUCCESS != s32Ret)
//     {
//         printf("%s: HI_MPI_AO_SetVolume(%d) failed with %#x!\n", __FUNCTION__,\
//                AoChn, s32Ret);
//         return HI_FAILURE;
//     }

    s32Ret = HI_MPI_AO_Enable(AoDevId);
    if(HI_SUCCESS != s32Ret)
    {
        printf("%s: HI_MPI_AO_Enable(%d) failed with %#x!\n", __FUNCTION__, \
               AoDevId, s32Ret);
        return HI_FAILURE;
    }
    s32Ret = HI_MPI_AO_EnableChn(AoDevId, AoChn);
    if(HI_SUCCESS != s32Ret)
    {
        printf("%s: HI_MPI_AO_EnableChn(%d) failed with %#x!\n", __FUNCTION__,\
               AoChn, s32Ret);
        return HI_FAILURE;
    }

//     s32Ret = HI_MPI_AO_SetVolume(AoDevId, AoChn, 0);
//     if(HI_SUCCESS != s32Ret)
//     {
//         printf("%s: HI_MPI_AO_SetVolume(%d) failed with %#x!\n", __FUNCTION__,\
//                AoChn, s32Ret);
//         return HI_FAILURE;
//     }

    if (NULL != pstAoReSmpAttr)
    {
        s32Ret = HI_MPI_AO_DisableReSmp(AoDevId, AoChn);
        s32Ret |= HI_MPI_AO_EnableReSmp(AoDevId, AoChn, pstAoReSmpAttr);
        if(HI_SUCCESS != s32Ret)
        {
            printf("%s: HI_MPI_AO_EnableReSmp(%d,%d) failed with %#x!\n", \
                   __FUNCTION__, AoDevId, AoChn, s32Ret);
            return HI_FAILURE;
        }
    }

    return HI_SUCCESS;
}

bindyhone

0个粉丝

11

问答

0

专栏

0

资料

bindyhone 2017-03-19 15:22:48
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=9932&ptid=4639]AOC 发表于 2014-12-3 11:21[/url]
到耳机的地和板子地接好。有的耳机地位置在第几节不一样的。以前地不对声音很小。有出现过。[/quote]

请问输出到耳机的话需要外接功放吗
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

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

Markdown 语法

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

举报类型

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

详细说明

易百纳技术社区