/// <summary> /// 获取直播默认参数 /// </summary> /// <param name="defaultParam">直播参数</param> /// <returns></returns> public bool GetDefaultParam(out Param defaultParam) { ThrowIfServiceException(); defaultParam = null; _Param param; if (Api.GetDefaultParam(Service, out param) == FuncResult.Ok) { defaultParam = (Param)param; var audioOutParam = new AudioOutParam(); // 測試發現這兩個數據顛倒了 audioOutParam.Codec = (AudioOutCodec)defaultParam.AudioParam.BitRate; audioOutParam.BitRate = (int)defaultParam.AudioParam.Codec; defaultParam.AudioParam = audioOutParam; return(true); } return(false); }
private void btnUpdateAudioParam_Click(object sender, RoutedEventArgs e) { DoAction(() => { if (_paramInited) { var param = new AudioOutParam(); param.BitRate = 64000; param.Codec = AudioOutCodec.AAC; //param.HardEncode = true; if (ApiProvider.Default.UpdateAudioOutParam(param)) { var text = $"audio.codec:{param.Codec}{Environment.NewLine}"; text += $"audio.bitRate:{param.BitRate}{Environment.NewLine}"; text += $"audio.hardEncode:{param.HardEncode}{Environment.NewLine}"; MessageBox.Show(text, "NewParam"); } } }); }
/// <summary> /// 修改音频输出参数,必须在未推流状态下执行 /// </summary> /// <param name="param">新的音频输出参数</param> /// <returns>修改成功返回true,失败返回false</returns> public bool UpdateAudioOutParam(AudioOutParam param) { ThrowIfServiceException(); return(Api.UpdateAudioOutParam(Service, ref param)); }
internal static extern bool UpdateAudioOutParam(IntPtr service, ref AudioOutParam param);