openWithCustomSource method
@detail api
@brief Enable audio mixing with audio raw data.
To open the audio file, see open{@link #IMediaPlayer#open}. open and this API are mutually exclusive.
@param source See MediaPlayerCustomSource{@link #MediaPlayerCustomSource}.
@param config See MediaPlayerConfig{@link #MediaPlayerConfig}.
@return
- 0: Success.
- < 0 : Fail. See ReturnStatus{@link #ReturnStatus} for more details.
@note
- After calling this API, you must call pushExternalAudioFrame{@link #IMediaPlayer#pushExternalAudioFrame} to push audio data and start the audio mixing.
- To stop the raw data audio mixing, call 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}');
}
}