MediaSource
Information and playback settings for the media file to be played.
public class MediaSource : OptionalJsonParse
{
public string url { set; get; }
public string uri { set; get; }
public int64_t startPos { set; get; }
public bool autoPlay { set; get; }
public bool enableCache { set; get; }
public Optional<bool> isAgoraSource = new Optional<bool>();
public Optional<bool> isLiveSource = new Optional<bool>();
public IMediaPlayerCustomDataProvider provider { set; get; }
public MediaSource()
{
url = "";
uri = "";
startPos = 0;
autoPlay = true;
enableCache = false;
provider = null;
}
}
Properties
- url
- URL of the media resource to be played.
Note: If you are opening a regular media resource, assign a value to
url; if you are opening a custom media resource, assign a value toprovider. Assigning values to both will cause the method call to fail. - uri
- URI (Uniform Resource Identifier) of the media file, used to identify the media file.
- startPos
- Start playback position in milliseconds. Default is 0.
- autoPlay
-
Note: If you disable auto-play, call the Play method after opening the media file to start playback.Whether to enable auto-play after opening the media file:
- true: (Default) Enable auto-play.
- false: Disable auto-play.
- enableCache
-
Note:Whether to enable real-time caching for this playback:
- The SDK currently supports caching for on-demand streams, but not for on-demand streams delivered via HLS protocol.
- Before caching, assign a value to
uri, otherwise the player will use the media file'surlas the cache index. - When real-time caching is enabled, the player preloads part of the currently playing media file to local storage. The next time you play the file, the player loads data directly from the cache, saving network traffic. Statistics for the cached media file are updated every second after playback starts. See CacheStatistics.
- true: Enable real-time caching.
- false: (Default) Disable real-time caching.
- enableMultiAudioTrack
- Whether to allow selecting different audio tracks for this playback:
- true: Allow selecting different audio tracks.
- false: (Default) Do not allow selecting different audio tracks.
- isAgoraSource
-
Note: If the media resource to be opened is a live or on-demand stream delivered via Agora Fusion CDN, assign the stream URL toWhether the media resource is a live or on-demand stream delivered via Agora Fusion CDN:
urland setisAgoraSourceto true. Otherwise, there is no need to setisAgoraSource.- true: The media resource is delivered via Agora Fusion CDN.
- false: (Default) The media resource is not delivered via Agora Fusion CDN.
- isLiveSource
-
Note: Only when the media resource is a live stream, settingWhether the media resource is a live stream:
isLiveSourceto true can speed up the opening of the media resource.- true: Live stream.
- false: (Default) Not a live stream.
- provider
- Callback for custom media resource files. See IMediaPlayerCustomDataProvider.
Note: If you are opening a custom media resource, assign a value to
provideronly. If you are opening a regular media resource, assign a value tourl. Assigning values to bothurlandproviderwill cause the method call to fail.