本文整理汇总了C#中BackgroundAudioPlayer.SafeGetPlayerState方法的典型用法代码示例。如果您正苦于以下问题:C# BackgroundAudioPlayer.SafeGetPlayerState方法的具体用法?C# BackgroundAudioPlayer.SafeGetPlayerState怎么用?C# BackgroundAudioPlayer.SafeGetPlayerState使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BackgroundAudioPlayer
的用法示例。
在下文中一共展示了BackgroundAudioPlayer.SafeGetPlayerState方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: OnUserAction
/// <summary>
/// Called when the user requests an action using application/system provided UI
/// </summary>
/// <param name="player">The BackgroundAudioPlayer</param>
/// <param name="track">The track playing at the time of the user action</param>
/// <param name="action">The action the user has requested</param>
/// <param name="param">The data associated with the requested action.
/// In the current version this parameter is only for use with the Seek action,
/// to indicate the requested position of an audio track</param>
/// <remarks>
/// User actions do not automatically make any changes in system state; the agent is responsible
/// for carrying out the user actions if they are supported.
///
/// Call NotifyComplete() only once, after the agent request has been completed, including async callbacks.
/// </remarks>
protected override void OnUserAction(BackgroundAudioPlayer player, AudioTrack track, UserAction action, object param)
{
switch (action)
{
case UserAction.Play:
if (track != null && track.Tag != null)
{
var data = track.Tag.ToString().Split('$');
var url = data[data.Length - 1];
var type = data[2];
if (type.ToLower() != "shoutcast")
{
track.Source = new Uri(url);
}
}
//player.Track = new AudioTrack(null, "", "", "", null, track.Tag, EnabledPlayerControls.Pause);
if (player.SafeGetPlayerState() != PlayState.Playing)
{
player.Play();
}
break;
case UserAction.Stop:
if (player.SafeGetPlayerState() == PlayState.Playing)
player.Stop();
break;
case UserAction.Pause:
if (player.SafeGetPlayerState() == PlayState.Playing)
player.Pause();
break;
case UserAction.FastForward:
//player.FastForward();
break;
case UserAction.Rewind:
//player.Rewind();
break;
case UserAction.Seek:
//player.Position = (TimeSpan)param;
break;
case UserAction.SkipNext:
//player.Track = GetNextTrack();
break;
case UserAction.SkipPrevious:
//AudioTrack previousTrack = GetPreviousTrack();
//if (previousTrack != null)
//{
// player.Track = previousTrack;
//}
break;
}
NotifyComplete();
}