本文整理汇总了C#中BackgroundAudioPlayer.Stop方法的典型用法代码示例。如果您正苦于以下问题:C# BackgroundAudioPlayer.Stop方法的具体用法?C# BackgroundAudioPlayer.Stop怎么用?C# BackgroundAudioPlayer.Stop使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BackgroundAudioPlayer
的用法示例。
在下文中一共展示了BackgroundAudioPlayer.Stop方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: OnUserAction
protected override void OnUserAction(BackgroundAudioPlayer player, AudioTrack track, UserAction action, object param)
{
switch (action)
{
case UserAction.Play:
if (PlayState.Playing != player.PlayerState)
{
player.Play();
}
break;
case UserAction.Stop:
player.Stop();
break;
case UserAction.Pause:
if (PlayState.Playing == player.PlayerState)
{
player.Pause();
}
break;
case UserAction.Rewind:
player.Position = player.Position.Subtract(new TimeSpan(0,0,10));
break;
case UserAction.FastForward:
player.Position = player.Position.Add(new TimeSpan(0,0,10));
break;
}
NotifyComplete();
}
示例2: OnPlayStateChanged
/// <summary>
/// Called when the playstate changes, except for the Error state (see OnError)
/// </summary>
/// <param name="player">The BackgroundAudioPlayer</param>
/// <param name="track">The track playing at the time the playstate changed</param>
/// <param name="playState">The new playstate of the player</param>
/// <remarks>
/// Play State changes cannot be cancelled. They are raised even if the application
/// caused the state change itself, assuming the application has opted-in to the callback
/// </remarks>
protected override void OnPlayStateChanged(BackgroundAudioPlayer player, AudioTrack track, PlayState playState)
{
switch (playState)
{
case PlayState.TrackReady:
// The track to play is set in the PlayTrack method.
player.Volume = 1;
player.Play();
break;
case PlayState.TrackEnded:
try
{
player.Stop();
}
catch (Exception e)
{
//Console.WriteLine(e);
}
break;
}
NotifyComplete();
}
示例3: OnPlayStateChanged
/// <summary>
/// Called when the playstate changes, except for the Error state (see OnError)
/// </summary>
/// <param name="player">The BackgroundAudioPlayer</param>
/// <param name="track">The track playing at the time the playstate changed</param>
/// <param name="playState">The new playstate of the player</param>
/// <remarks>
/// Play State changes cannot be cancelled. They are raised even if the application
/// caused the state change itself, assuming the application has opted-in to the callback.
///
/// Notable playstate events:
/// (a) TrackEnded: invoked when the player has no current track. The agent can set the next track.
/// (b) TrackReady: an audio track has been set and it is now ready for playack.
///
/// Call NotifyComplete() only once, after the agent request has been completed, including async callbacks.
/// </remarks>
protected override void OnPlayStateChanged(BackgroundAudioPlayer player, AudioTrack track, PlayState playState)
{
switch (playState)
{
case PlayState.TrackEnded:
player.Stop();
break;
case PlayState.TrackReady:
player.Play();
break;
case PlayState.Shutdown:
// TODO: Handle the shutdown state here (e.g. save state)
break;
case PlayState.Unknown:
break;
case PlayState.Stopped:
break;
case PlayState.Paused:
player.Pause();
break;
case PlayState.Playing:
break;
case PlayState.BufferingStarted:
break;
case PlayState.BufferingStopped:
break;
case PlayState.Rewinding:
break;
case PlayState.FastForwarding:
break;
}
NotifyComplete();
}
示例4: 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)
{
System.Diagnostics.Debug.WriteLine("UserAction player state: "+player.PlayerState);
switch (action)
{
case UserAction.Play:
PlayTrack(player);
break;
case UserAction.Stop:
player.Stop();
break;
}
System.Diagnostics.Debug.WriteLine("Before NOtify. ");
NotifyComplete();
}
示例5: 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 (player.PlayerState != PlayState.Playing) {
player.Play();
}
break;
case UserAction.Stop:
player.Stop();
break;
case UserAction.Pause:
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:
try {
player.Track = GetNextTrack();
} catch (LastTrackException ex) {
player.Track = ex.Track;
player.Stop();
}
break;
case UserAction.SkipPrevious:
if (player.Position > TimeSpan.FromSeconds(7)) {
player.Position = new TimeSpan(0);
} else {
AudioTrack previousTrack = GetPreviousTrack();
if (previousTrack != null) {
player.Track = previousTrack;
}
}
break;
}
NotifyComplete();
}
示例6: 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)
{
Debug.WriteLine("OnUserAction() action " + action);
switch (action)
{
case UserAction.Play:
var task = Task.Run((Func<Task>)RunDownload);
if (player.PlayerState != PlayState.Playing)
player.Play();
task.ContinueWith(t => NotifyComplete());
return;
case UserAction.Stop:
player.Stop();
break;
case UserAction.Pause:
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:
var previousTrack = GetPreviousTrack();
if (previousTrack != null)
player.Track = previousTrack;
break;
}
NotifyComplete();
}
示例7: 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:
loadfile();
PlayTrack(player);
break;
case UserAction.Pause:
player.Pause();
break;
case UserAction.Stop:
player.Stop();
break;
case UserAction.SkipPrevious:
PlayPreviousTrack(player);
break;
case UserAction.SkipNext:
PlayNextTrack(player);
break;
case UserAction.Seek:
player.Position = (TimeSpan)param;
break;
}
NotifyComplete();
}
示例8: 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:
try
{
if (player.PlayerState != PlayState.Playing)
{
Debug.WriteLine("User.Action: Play");
player.Play();
}
}
catch (InvalidOperationException e)
{
Debug.WriteLine("Exception: " + e.Message);
}
catch (SystemException syse)
{
Debug.WriteLine("Exception: " + syse.Message);
}
break;
case UserAction.Stop:
try
{
if (player.PlayerState != PlayState.Stopped) {
updatePlayposForCurrentEpisode(player);
player.Stop();
Debug.WriteLine("User.Action: Stop");
}
}
catch (Exception e)
{
Debug.WriteLine("Exception: " + e.Message);
}
break;
case UserAction.Pause:
Debug.WriteLine("User.Action: Pause");
try
{
if (player.PlayerState == PlayState.Playing)
{
updatePlayposForCurrentEpisode(player);
player.Pause();
}
}
catch (InvalidOperationException e)
{
Debug.WriteLine("Exception: " + e.Message);
}
break;
case UserAction.Seek:
try
{
if (player.PlayerState == PlayState.Playing)
{
player.Position = (TimeSpan)param;
}
}
catch (InvalidOperationException e)
{
Debug.WriteLine("Exception: " + e.Message);
}
break;
case UserAction.SkipNext:
Debug.WriteLine("Skip next.");
updatePlayposForCurrentEpisode(player);
AudioTrack nextTrack = getNextPlaylistTrack();
if (nextTrack == null)
{
player.Position = (player.Position.TotalSeconds + 30 < player.Track.Duration.TotalSeconds) ? TimeSpan.FromSeconds(player.Position.TotalSeconds + 30) :
TimeSpan.FromSeconds(player.Track.Duration.TotalSeconds);
}
else
{
player.Track = nextTrack;
player.Play();
}
break;
case UserAction.FastForward:
//.........这里部分代码省略.........
示例9: OnUserAction
protected override void OnUserAction(BackgroundAudioPlayer player, AudioTrack track, UserAction action, object param)
{
switch (action)
{
case UserAction.Play:
PlayTrack(player);
break;
case UserAction.Pause:
try
{
if (player.CanPause)
{
player.Pause();
}
}
catch (UnauthorizedAccessException ex)
{
// what the fuck??
}
break;
case UserAction.SkipPrevious:
PlayPreviousTrack(player);
break;
case UserAction.SkipNext:
PlayNextTrack(player);
break;
case UserAction.Stop:
player.Stop();
break;
case UserAction.FastForward:
player.FastForward();
break;
case UserAction.Rewind:
player.Rewind();
break;
case UserAction.Seek:
player.Position = (TimeSpan)param;
break;
}
NotifyComplete();
}
示例10: 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 (player.PlayerState != PlayState.Playing)
{
player.Play();
}
break;
case UserAction.Stop:
player.Stop();
break;
case UserAction.Pause:
player.Pause();
break;
default:
break;
}
NotifyComplete();
}
示例11: OnUserAction
/// <summary>
/// Called when the user requests an action using system-provided UI and the application has requesed
/// notifications of the action
/// </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
/// </remarks>
protected override void OnUserAction(BackgroundAudioPlayer player, AudioTrack track, UserAction action, object param)
{
switch (action)
{
case UserAction.FastForward:
player.FastForward();
break;
case UserAction.Pause:
player.Pause();
break;
case UserAction.Play:
if (player.PlayerState == PlayState.Paused)
{
player.Play();
}
else
{
Play(player);
}
break;
case UserAction.Rewind:
player.Rewind();
break;
case UserAction.Seek:
player.Position = (TimeSpan)param;
break;
case UserAction.SkipNext:
PlayNext(player);
break;
case UserAction.SkipPrevious:
PlayPrev(player);
break;
case UserAction.Stop:
player.Stop();
break;
default:
break;
}
NotifyComplete();
}
示例12: 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 async void OnUserAction(BackgroundAudioPlayer player, AudioTrack track, UserAction action, object param)
{
await ConfigureThePlayer();
switch (action)
{
case UserAction.Play:
if (player.PlayerState != PlayState.Playing)
{
_logger.Info("OnUserAction.Play");
player.Play();
}
break;
case UserAction.Stop:
_logger.Info("OnUserAction.Stop");
player.Stop();
break;
case UserAction.Pause:
_logger.Info("OnUserAction.Pause");
player.Pause();
break;
case UserAction.FastForward:
_logger.Info("OnUserAction.FastForward");
player.FastForward();
break;
case UserAction.Rewind:
_logger.Info("OnUserAction.Rewind");
player.Rewind();
break;
case UserAction.Seek:
player.Position = (TimeSpan)param;
break;
case UserAction.SkipNext:
_logger.Info("OnUserAction.SkipNext");
var nextTrack = await GetNextTrack();
if (nextTrack != null)
{
player.Track = nextTrack;
}
await InformOfPlayingTrack();
break;
case UserAction.SkipPrevious:
_logger.Info("OnUserAction.SkipPrevious");
var previousTrack = await GetPreviousTrack();
if (previousTrack != null)
{
player.Track = previousTrack;
}
await InformOfPlayingTrack();
break;
}
NotifyComplete();
}
示例13: OnUserAction
/// <summary>
/// Called when the user requests an action using system-provided UI and the application has requesed
/// notifications of the action
/// </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
/// </remarks>
protected override void OnUserAction(BackgroundAudioPlayer player, AudioTrack track, UserAction action,
object param)
{
switch (action)
{
case UserAction.Play:
playTrack(player);
break;
case UserAction.Stop:
player.Stop();
break;
}
NotifyComplete();
}
示例14: 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 (player.PlayerState == PlayState.Paused)
PopulatePlaylist(false);
else
PopulatePlaylist(true);
if (currentPlaylist != null && currentPlaylist.Count > 0)
{
player.Track = currentPlaylist[currentTrackNumber];
}
break;
case UserAction.Stop:
currentPlaylist = null;
currentTrackNumber = 0;
player.Stop();
break;
case UserAction.Pause:
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:
if (currentPlaylist != null && currentPlaylist.Count > 0)
player.Track = GetNextTrack();
break;
case UserAction.SkipPrevious:
if (currentPlaylist != null && currentPlaylist.Count > 0)
player.Track = GetPreviousTrack();
break;
}
NotifyComplete();
}
示例15: 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 (player.PlayerState != PlayState.Playing)
//{
// to get audio track
//player.Track = this.audioTrack;
//player.Play();
//}
if (player.Track == null)
{
currentTrack = 0;
player.Track = playlist[currentTrack];
}
else
{
player.Play();
}
break;
case UserAction.Stop:
player.Stop();
break;
case UserAction.Pause:
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();
if (currentTrack < playlist.Count - 1)
{
currentTrack += 1;
player.Track = playlist[currentTrack];
}
else
{
player.Track = null;
}
break;
case UserAction.SkipPrevious:
//AudioTrack previousTrack = GetPreviousTrack();
//if (previousTrack != null)
//{
//player.Track = previousTrack;
//}
break;
}
NotifyComplete();
}