openWithCustomSource method

Future<int?> openWithCustomSource(
  1. MediaPlayerCustomSource source,
  2. MediaPlayerConfig config
)

@detail api @brief 启动音频裸数据混音。
要播放音乐文件,参看 open{@link #IMediaPlayer#open}。open 与此 API 互斥。 @param source 数据源,详见 MediaPlayerCustomSource{@link #MediaPlayerCustomSource} @param config 详见 MediaPlayerConfig{@link #MediaPlayerConfig} @return - 0: 调用成功。 - < 0 : 调用失败。查看 ReturnStatus{@link #ReturnStatus} 获得更多错误说明 @note - 调用本方法启动后,再调用 pushExternalAudioFrame{@link #IMediaPlayer#pushExternalAudioFrame} 推送音频数据,才会开始混音。 - 如要结束 PCM 音频数据混音,调用 stop{@link #IMediaPlayer#stop}。

Implementation

Future<int?> openWithCustomSource(
    MediaPlayerCustomSource source, MediaPlayerConfig config) async {
  $a() => ($instance as $p_a.IMediaPlayer).openWithCustomSource(
      unpackObject<$p_a.MediaPlayerCustomSource>(source),
      unpackObject<$p_a.MediaPlayerConfig>(config));
  $i() => ($instance as $p_i.ByteRTCMediaPlayer).openWithCustomSource(
      unpackObject<$p_i.ByteRTCMediaPlayerCustomSource>(source),
      unpackObject<$p_i.ByteRTCMediaPlayerConfig>(config));

  if (Platform.isAndroid) {
    return $a();
  } else if (Platform.isIOS) {
    return $i();
  } else {
    throw UnsupportedError(
        'Not Support Platform ${Platform.operatingSystem}');
  }
}