Windows平台RTSP|RTMP播放器如何实时调节音量

我们在做Windows平台RTSP、RTMP播放器的时候,有这样的技术需求,特别是多路监控的时候,并不是每一路audio都需要播放出来的,所以,这时候,需要有针对音量调节的设计:

cs 复制代码
/*
 * smart_player_sdk.cs
 * Created by daniusdk.com on 2017/04/19.
 * WeChat: xinsheng120
 */

/*
 * 静音接口,1为静音,0为不静音
 */
[DllImport(@"SmartPlayerSDK.dll")]
public static extern UInt32 NT_SP_SetMute(IntPtr handle, Int32 is_mute);

随着需求越来越多,好多场景下,希望能实时调节播放器的音量,所以,后续我们设计了实时音量调节接口:

cs 复制代码
/*
 * smart_player_sdk.cs
 * Created by daniusdk.com on 2017/04/19.
 * WeChat: xinsheng120
 */

/*
 * 设置播放音量, 范围是[0, 100], 0是静音,100是最大音量, 默认是100
 */
[DllImport(@"SmartPlayerSDK.dll")]
public static extern UInt32 NT_SP_SetAudioVolume(IntPtr handle, Int32 volume);

调用如下,拖动实时音量调节slider即可实现播放音量的动态调整,如果需要实时静音,调整到0,或者是直接SetMute设置0即可。

cs 复制代码
if (checkBox_mute.Checked)
{
	NTSmartPlayerSDK.NT_SP_SetMute(player_handle_, 1);
}
else
{
	NTSmartPlayerSDK.NT_SP_SetMute(player_handle_, 0);
}

private void slider_audio_volume_ValueChanged(object sender, EventArgs e)
{
	cur_audio_volume.Text = slider_audio_volume.Value.ToString();

	if (is_playing_ && player_handle_ != IntPtr.Zero)
	{
		NTSmartPlayerSDK.NT_SP_SetAudioVolume(player_handle_, slider_audio_volume.Value);
	}
}
相关推荐
音视频牛哥7 天前
Nginx RTMP DASH 模块分析 (ngx_rtmp_dash_module.c)
运维·nginx·大牛直播sdk·dash·nginx rtmp服务器·nginx dash·dash播放
音视频牛哥9 天前
nginx-rtmp-module之ngx_rtmp_live_module.c代码详解
运维·c语言·nginx·ffmpeg·大牛直播sdk·nginx rtmp代码·nginx rtmp服务器
音视频牛哥10 天前
Nginx RTMP 服务器开发设计与实现
运维·服务器·nginx·大牛直播sdk·nginx rtmp代码·nginx rtmp·nginx流媒体服务器
音视频牛哥1 个月前
H.264语法结构分析之frame_cropping_flag
计算机视觉·大牛直播sdk·h.264·rtsp播放器·rtmp播放器·frame_cropping·h.264分辨率裁剪
瘦瘦的追梦洋1 个月前
播放器系列4——PCM重采样
ffmpeg·pcm·播放器·resample
音视频牛哥1 个月前
Android平台轻量级RTSP服务模块技术对接说明
android·大牛直播sdk·轻量级rtsp服务·rtsp服务器·安卓rtsp服务·安卓rtsp服务器·rtsp server
音视频牛哥1 个月前
深度解析SmartGBD助力Android音视频数据接入GB28181平台
android·音视频·大牛直播sdk·gb28181·gb28181平台·gb28181对接·gb28181语音广播
音视频牛哥2 个月前
Unity实现高性能多实例RTSP|RTMP播放器技术实践
unity·游戏引擎·音视频·实时音视频·大牛直播sdk·rtsp播放器·rtsp player