关于调节ijkPlayer的音量和静音

目前我尝试了几个方式,都有问题。包括

ijkplayer参数设置讲解

里面的

_playerNative.SetOptionIntValue(IJKFFOptionCategory.Player, "vol", (int)(volume / 30 * 256));

这句在直播已经播放后设置是完全没有作用的,播放前设置是否起作用未知,但因为不是想要的实时调节音量的效果,所以这里就暂时抛弃。

以及 [IJKPLAYER]基于DEMO分析IJKPLAYER

_playerNative.SetOptionIntValue(IJKFFOptionCategory.Player, "volume", volume);

这句代码只是在直播视频开始播放之前,才能设置音量的大小。

打算去查看源工程以及ffmpeg的源工程的,后来百度到了用af的方式来进行音量调节

// _playerNative.SetOptionIntValue(IJKFFOptionCategory.Player, 
//     "af",  (int)(volume / 30f));

// _playerNative.SetOptionValue(IJKFFOptionCategory.Player, 
//     "af",  (int)(volume / 30f) + "dB");

_playerNative.SetOptionValue(IJKFFOptionCategory.Player, 
"af",  (int)((volume - 50f) * 10) + "dB");

// _playerNative.SetOptionIntValue(IJKFFOptionCategory.Player, 
//     "af",  (int)(volume - 50f) * 10));

因为ijkplayer的使用文档网上特别少,所以只能自己试着去使用这个参数,上面的写法试了都是不可行的。

源仓库代码中,选项的定义部分在ff_ffplay_options.h,关于输入的含义,目前找不到af相关的选项,所以只能挨个测试。

无论传入的db是范围0-3 还是 0-100 ,都是有声音。负数500到整数500都有声音。无论是作为int传入还是作为字符串传入

#if CONFIG_AVFILTER
    { "af",                             "audio filters",
        OPTION_OFFSET(afilters),        OPTION_STR(NULL) },
    { "vf0",                            "video filters 0",
        OPTION_OFFSET(vfilter0),        OPTION_STR(NULL) },
#endif

可以看到,原仓库中需要宏定义CONFIG_AVFILTER开启了,af设置才会有效。这个宏定义目前来看不知道怎么开启。

关于这个宏参考:

最简单的让IJKPLAYER自动旋转带有ROTATION视频的方法

iOS ijkplayer无法旋转带有rotation信息的视频

静音

静音这部分也是有相关的参数说明

{ “an”, “disable audio”,
OPTION_OFFSET(audio_disable), OPTION_INT(0, 0, 1) },

按照归类应该是属于Play设置,但是代码中这样设置,是无效的。

    _playerNative.SetOptionIntValue(IJKFFOptionCategory.Player, "an", 1);

目前感觉这个参数在unity中设置也是无效的。

如果是在程序挂起的时候,要进行暂停播放,只能是调用退出播放的接口了

关于ijkplayer使用过程中的问题讨论地址

https://github.com/Bilibili/ijkplayer/issues

哔哩哔哩官网在github上给到的关于ijkplayer里面各个选项的参数网址

ijkplayer/ijkmedia/ijkplayer/ff_ffplay_options.h

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

染指流年丨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值