本文整理汇总了C#中PlaybackState类的典型用法代码示例。如果您正苦于以下问题:C# PlaybackState类的具体用法?C# PlaybackState怎么用?C# PlaybackState使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
PlaybackState类属于命名空间,在下文中一共展示了PlaybackState类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。
示例1: MediaStateChangedEventArgs
public MediaStateChangedEventArgs(BufferState bufferState, NetworkState networkState, PlaybackState playbackState, SeekState seekState)
{
this.bufferState = bufferState;
this.networkState = networkState;
this.playbackState = playbackState;
this.seekState = seekState;
}
开发者ID:bossaia,项目名称:alexandrialibrary,代码行数:7,代码来源:MediaStateChangedEventArgs.cs
示例2: MediaEngine_MediaStateChanged
private void MediaEngine_MediaStateChanged(MediaState state)
{
switch (state)
{
case MediaState.Loading:
this.PlaybackState = PlaybackState.Loading;
break;
case MediaState.Stopped:
this.PlaybackState = PlaybackState.Paused;
break;
case MediaState.Playing:
this.PlaybackState = PlaybackState.Playing;
break;
case MediaState.Error:
this.PlaybackState = PlaybackState.Error_MediaInvalid;
break;
case MediaState.Ended:
this.PlaybackState = PlaybackState.Ended;
break;
}
}
开发者ID:codekaizen,项目名称:internetradio,代码行数:27,代码来源:MediaEnginePlaybackManager.cs
示例3: Convert
public static PlayerState? Convert(PlaybackState? inState)
{
if(!inState.HasValue) {
return null;
} else {
return Convert(inState.Value);
}
}
开发者ID:GWigWam,项目名称:SpeechMusicController,代码行数:8,代码来源:PlayerState.cs
示例4: Form1
public Form1()
{
InitializeComponent();
m_state = PlaybackState.Closed;
m_pPlayer = new DShowPlayer(panVideoWin, Handle, WM_GRAPH_EVENT);
m_bDrag = false;
}
开发者ID:adambyram,项目名称:pimaker,代码行数:8,代码来源:Form1.cs
示例5: MediaNotificationManager
public MediaNotificationManager(MusicService serv)
{
service = serv;
UpdateSessionToken();
notificationColor = ResourceHelper.GetThemeColor(service,
Android.Resource.Attribute.ColorPrimary, Color.DarkGray);
notificationManager = (NotificationManager) service
.GetSystemService(Context.NotificationService);
string pkg = service.PackageName;
pauseIntent = PendingIntent.GetBroadcast(service, RequestCode,
new Intent(ActionPause).SetPackage(pkg), PendingIntentFlags.CancelCurrent);
playIntent = PendingIntent.GetBroadcast(service, RequestCode,
new Intent(ActionPlay).SetPackage(pkg), PendingIntentFlags.CancelCurrent);
previousIntent = PendingIntent.GetBroadcast(service, RequestCode,
new Intent(ActionPrev).SetPackage(pkg), PendingIntentFlags.CancelCurrent);
nextIntent = PendingIntent.GetBroadcast(service, RequestCode,
new Intent(ActionNext).SetPackage(pkg), PendingIntentFlags.CancelCurrent);
notificationManager.CancelAll ();
mCb.OnPlaybackStateChangedImpl = (state) => {
playbackState = state;
LogHelper.Debug (Tag, "Received new playback state", state);
if (state != null && (state.State == PlaybackStateCode.Stopped ||
state.State == PlaybackStateCode.None)) {
StopNotification ();
} else {
Notification notification = CreateNotification ();
if (notification != null) {
notificationManager.Notify (NotificationId, notification);
}
}
};
mCb.OnMetadataChangedImpl = (meta) => {
metadata = meta;
LogHelper.Debug (Tag, "Received new metadata ", metadata);
Notification notification = CreateNotification ();
if (notification != null) {
notificationManager.Notify (NotificationId, notification);
}
};
mCb.OnSessionDestroyedImpl = () => {
LogHelper.Debug (Tag, "Session was destroyed, resetting to the new session token");
UpdateSessionToken ();
};
}
开发者ID:CHANDAN145,项目名称:monodroid-samples,代码行数:51,代码来源:MediaNotificationManager.cs
示例6: Play
/// <summary>
/// Begin playback
/// </summary>
public void Play()
{
if (playbackState == PlaybackState.Stopped)
{
// -------------------------------------------------------------------------------------
// Thread that process samples
// -------------------------------------------------------------------------------------
notifyThread = new Thread(new ThreadStart(processSamples));
// put this back to highest when we are confident we don't have any bugs in the thread proc
notifyThread.Priority = ThreadPriority.Normal;
notifyThread.IsBackground = true;
notifyThread.Start();
}
lock (m_LockObject)
{
playbackState = PlaybackState.Playing;
}
}
开发者ID:Punloeu,项目名称:karaoke,代码行数:22,代码来源:DirectSoundOut.cs
示例7: Init
/// <summary>
/// Initialises the WaveOut device
/// </summary>
/// <param name="waveProvider">WaveProvider to play</param>
public void Init(IWaveProvider waveProvider)
{
this.waveStream = waveProvider;
int bufferSize = waveProvider.WaveFormat.ConvertLatencyToByteSize((DesiredLatency + NumberOfBuffers - 1) / NumberOfBuffers);
MmResult result;
lock (waveOutLock)
{
result = WaveInterop.waveOutOpenWindow(out hWaveOut, (IntPtr)DeviceNumber, waveStream.WaveFormat, callbackEvent.SafeWaitHandle.DangerousGetHandle(), IntPtr.Zero, WaveInterop.WaveInOutOpenFlags.CallbackEvent);
}
MmException.Try(result, "waveOutOpen");
buffers = new WaveOutBuffer[NumberOfBuffers];
playbackState = PlaybackState.Stopped;
for (int n = 0; n < NumberOfBuffers; n++)
{
buffers[n] = new WaveOutBuffer(hWaveOut, bufferSize, waveStream, waveOutLock);
}
}
开发者ID:LuckyLuik,项目名称:_GLDNBT,代码行数:23,代码来源:WaveOutEvent.cs
示例8: play
/// <summary>
/// Public method called by the main view to start playing the playlist
/// </summary>
public void play()
{
// If there is no backgroundworker initialized, do that
if (playerThread == null)
{
playerThread = new BackgroundWorker();
playerThread.DoWork += new DoWorkEventHandler(playerThread_DoWork);
playerThread.ProgressChanged += new ProgressChangedEventHandler(playerThread_ProgressChanged);
playerThread.RunWorkerCompleted += new RunWorkerCompletedEventHandler(playerThread_RunWorkerCompleted);
playerThread.WorkerReportsProgress = true;
}
// Set state to playing
this.playState = PlaybackState.Playing;
// start playing the entire queue
playQueue();
}
开发者ID:rogerstewart,项目名称:subsonic-csharp,代码行数:22,代码来源:PlayerForm.cs
示例9: Stop
/// <summary>
/// Stop playback
/// </summary>
public void Stop()
{
// Try and tidy up nicely
if (Monitor.TryEnter(m_LockObject, 50))
{
playbackState = PlaybackState.Stopped;
Monitor.Exit(m_LockObject);
}
else
{
// No joy - abort the thread!
if (notifyThread != null)
{
notifyThread.Abort();
notifyThread = null;
}
}
}
开发者ID:aljordan,项目名称:NAJAudio,代码行数:21,代码来源:DirectSoundOut.cs
示例10: Pause
/// <summary>
/// Stop playback without flushing buffers
/// </summary>
public void Pause()
{
if (playbackState == PlaybackState.Playing)
{
playbackState = PlaybackState.Paused;
}
}
开发者ID:KarimLUCCIN,项目名称:NAudioCustom,代码行数:11,代码来源:WasapiOutRT.cs
示例11: Play
/// <summary>
/// Begin Playback
/// </summary>
public void Play()
{
if (playbackState != PlaybackState.Playing)
{
if (playbackState == PlaybackState.Stopped && !preventNewPlayTaskCreation)
{
playbackState = PlaybackState.Playing;
playTask = Task.Run((Action)PlayThread);
}
else
{
playbackState = PlaybackState.Playing;
}
}
}
开发者ID:KarimLUCCIN,项目名称:NAudioCustom,代码行数:18,代码来源:WasapiOutRT.cs
示例12: RefreshPlaybackState
public void RefreshPlaybackState()
{
PlaybackState nextPlaybackState = playbackState;
if (sound != null)
{
if (sound.CurrentSubSoundIndex != -1 && sound.CurrentSubSound != null)
{
if (sound.CurrentSubSound.Channel.IsPlaying)
{
if (sound.CurrentSubSound.Channel.Paused)
nextPlaybackState = PlaybackState.Paused;
else nextPlaybackState = PlaybackState.Playing;
}
else nextPlaybackState = PlaybackState.Stopped;
}
else
{
if (sound.Channel != null)
{
if (sound.Channel.IsPlaying)
{
if (sound.Channel.Paused)
nextPlaybackState = PlaybackState.Paused;
else nextPlaybackState = PlaybackState.Playing;
}
else nextPlaybackState = PlaybackState.Stopped;
}
else nextPlaybackState = PlaybackState.None;
}
}
else nextPlaybackState = PlaybackState.None;
if (playbackState != nextPlaybackState)
{
playbackState = nextPlaybackState;
if (PlaybackStateChanged != null)
PlaybackStateChanged(this, new MediaStateChangedEventArgs(BufferState, NetworkState, PlaybackState, SeekState));
}
}
开发者ID:bossaia,项目名称:alexandrialibrary,代码行数:40,代码来源:CompactDiscSound.cs
示例13: Play
/// <summary>
/// Begin Playback
/// </summary>
public void Play()
{
if (playbackState != PlaybackState.Playing)
{
if (playbackState == PlaybackState.Stopped)
{
playThread = new Thread(new ThreadStart(PlayThread));
playbackState = PlaybackState.Playing;
playThread.Start();
}
else
{
playbackState = PlaybackState.Playing;
}
}
}
开发者ID:NoOnes2,项目名称:scharfrichter,代码行数:20,代码来源:WasapiOut.cs
示例14: Stop
/// <summary>
/// Stop and reset the WaveOut device
/// </summary>
public void Stop()
{
if (playbackState != PlaybackState.Stopped)
{
// in the call to waveOutReset with function callbacks
// some drivers will block here until OnDone is called
// for every buffer
playbackState = PlaybackState.Stopped; // set this here to avoid a problem with some drivers whereby
MmResult result;
lock (waveOutLock)
{
result = WaveInterop.waveOutReset(hWaveOut);
}
if (result != MmResult.NoError)
{
throw new MmException(result, "waveOutReset");
}
callbackEvent.Set(); // give the thread a kick, make sure we exit
}
}
开发者ID:EnergonV,项目名称:BestCS,代码行数:23,代码来源:WaveOutEvent.cs
示例15: Init
/// <summary>
/// Initialises the WaveOut device
/// </summary>
/// <param name="waveProvider">WaveProvider to play</param>
public void Init(IWaveProvider waveProvider)
{
this.waveStream = waveProvider;
int bufferSize = waveProvider.WaveFormat.ConvertLatencyToByteSize((DesiredLatency + NumberOfBuffers - 1) / NumberOfBuffers);
MmResult result;
lock (waveOutLock)
{
result = callbackInfo.WaveOutOpen(out hWaveOut, DeviceNumber, waveStream.WaveFormat, callback);
}
MmException.Try(result, "waveOutOpen");
buffers = new WaveOutBuffer[NumberOfBuffers];
playbackState = PlaybackState.Stopped;
for (int n = 0; n < NumberOfBuffers; n++)
{
buffers[n] = new WaveOutBuffer(hWaveOut, bufferSize, waveStream, waveOutLock);
}
}
开发者ID:aljordan,项目名称:NAJAudio,代码行数:23,代码来源:WaveOut.cs
示例16: Pause
/// <summary>
/// Pause the audio
/// </summary>
public void Pause()
{
if (playbackState == PlaybackState.Playing)
{
MmResult result;
lock (waveOutLock)
{
result = WaveInterop.waveOutPause(hWaveOut);
}
if (result != MmResult.NoError)
{
throw new MmException(result, "waveOutPause");
}
playbackState = PlaybackState.Paused;
}
}
开发者ID:EnergonV,项目名称:BestCS,代码行数:19,代码来源:WaveOutEvent.cs
示例17: Resume
/// <summary>
/// Resume playing after a pause from the same position
/// </summary>
private void Resume()
{
if (playbackState == PlaybackState.Paused)
{
MmResult result;
lock (waveOutLock)
{
result = WaveInterop.waveOutRestart(hWaveOut);
}
if (result != MmResult.NoError)
{
throw new MmException(result, "waveOutRestart");
}
playbackState = PlaybackState.Playing;
}
}
开发者ID:EnergonV,项目名称:BestCS,代码行数:19,代码来源:WaveOutEvent.cs
示例18: Play
/// <summary>
/// Start playing the audio from the WaveStream
/// </summary>
public void Play()
{
if (playbackState == PlaybackState.Stopped)
{
playbackState = PlaybackState.Playing;
Debug.Assert(queuedBuffers == 0, "Buffers already queued on play");
EnqueueBuffers();
}
else if (playbackState == PlaybackState.Paused)
{
EnqueueBuffers();
Resume();
playbackState = PlaybackState.Playing;
}
}
开发者ID:aljordan,项目名称:NAJAudio,代码行数:18,代码来源:WaveOut.cs
示例19: Init
/// <summary>
/// Initialises the WaveOut device
/// </summary>
/// <param name="waveProvider">WaveProvider to play</param>
public void Init(IWaveProvider waveProvider)
{
if (playbackState != PlaybackState.Stopped)
{
throw new InvalidOperationException("Can't re-initialize during playback");
}
if (hWaveOut != IntPtr.Zero)
{
// normally we don't allow calling Init twice, but as experiment, see if we can clean up and go again
// try to allow reuse of this waveOut device
// n.b. risky if Playback thread has not exited
DisposeBuffers();
CloseWaveOut();
}
this.callbackEvent = new AutoResetEvent(false);
this.waveStream = waveProvider;
int bufferSize = waveProvider.WaveFormat.ConvertLatencyToByteSize((DesiredLatency + NumberOfBuffers - 1) / NumberOfBuffers);
MmResult result;
lock (waveOutLock)
{
result = WaveInterop.waveOutOpenWindow(out hWaveOut, (IntPtr)DeviceNumber, waveStream.WaveFormat, callbackEvent.SafeWaitHandle.DangerousGetHandle(), IntPtr.Zero, WaveInterop.WaveInOutOpenFlags.CallbackEvent);
}
MmException.Try(result, "waveOutOpen");
buffers = new WaveOutBuffer[NumberOfBuffers];
playbackState = PlaybackState.Stopped;
for (int n = 0; n < NumberOfBuffers; n++)
{
buffers[n] = new WaveOutBuffer(hWaveOut, bufferSize, waveStream, waveOutLock);
}
}
开发者ID:EnergonV,项目名称:BestCS,代码行数:38,代码来源:WaveOutEvent.cs
示例20: Stop
/// <summary>
/// Stop and reset the WaveOut device
/// </summary>
public void Stop()
{
if (playbackState != PlaybackState.Stopped)
{
// in the call to waveOutReset with function callbacks
// some drivers will block here until OnDone is called
// for every buffer
playbackState = PlaybackState.Stopped; // set this here to avoid a problem with some drivers whereby
MmResult result;
lock (waveOutLock)
{
result = WaveInterop.waveOutReset(hWaveOut);
}
if (result != MmResult.NoError)
{
throw new MmException(result, "waveOutReset");
}
// with function callbacks, waveOutReset will call OnDone,
// and so PlaybackStopped must not be raised from the handler
// we know playback has definitely stopped now, so raise callback
if (callbackInfo.Strategy == WaveCallbackStrategy.FunctionCallback)
{
RaisePlaybackStoppedEvent(null);
}
}
}
开发者ID:aljordan,项目名称:NAJAudio,代码行数:31,代码来源:WaveOut.cs
注:本文中的PlaybackState类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论