PlayToConnection Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt Informationen zu einer Wiedergabeverbindung bereit.
public ref class PlayToConnection sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.Deprecated("PlayToConnection may be altered or unavailable for releases after Windows 10. Instead, use CastingConnection.", Windows.Foundation.Metadata.DeprecationType.Deprecate, 65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class PlayToConnection final
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Deprecated("PlayToConnection may be altered or unavailable for releases after Windows 10. Instead, use CastingConnection.", Windows.Foundation.Metadata.DeprecationType.Deprecate, 65536, "Windows.Foundation.UniversalApiContract")]
class PlayToConnection final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.Deprecated("PlayToConnection may be altered or unavailable for releases after Windows 10. Instead, use CastingConnection.", Windows.Foundation.Metadata.DeprecationType.Deprecate, 65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class PlayToConnection
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Deprecated("PlayToConnection may be altered or unavailable for releases after Windows 10. Instead, use CastingConnection.", Windows.Foundation.Metadata.DeprecationType.Deprecate, 65536, "Windows.Foundation.UniversalApiContract")]
public sealed class PlayToConnection
Public NotInheritable Class PlayToConnection
- Vererbung
- Attribute
Windows-Anforderungen
Gerätefamilie |
Windows 10 (eingeführt in 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (eingeführt in v1.0)
|
Beispiele
private Windows.Media.PlayTo.PlayToManager ptm =
Windows.Media.PlayTo.PlayToManager.GetForCurrentView();
protected override void OnNavigatedTo(NavigationEventArgs e)
{
ptm.SourceRequested += sourceRequestHandlerWithEvents;
ptm.SourceSelected += sourceSelectedHandler;
}
private void sourceRequestHandlerWithEvents(
Windows.Media.PlayTo.PlayToManager sender,
Windows.Media.PlayTo.PlayToSourceRequestedEventArgs e)
{
try
{
var controller = mediaElement.PlayToSource;
controller.Connection.Error += playToConnectionError;
controller.Connection.StateChanged += playToConnectionStageChanged;
controller.Connection.Transferred += playToConnectionTransferred;
e.SourceRequest.SetSource(controller);
}
catch (Exception ex)
{
messageBlock.Text += "Exception encountered: " + ex.Message + "\n";
}
}
// Called when the user selects a Play To device to stream to.
private void sourceSelectedHandler(
Windows.Media.PlayTo.PlayToManager sender,
Windows.Media.PlayTo.PlayToSourceSelectedEventArgs e)
{
if (mediaElement.Name == "iplayer") {
if (!e.SupportsImage) {
messageBlock.Text += e.FriendlyName + " does not support streaming images. " +
"Please select a different device.";
return;
}
}
if (mediaElement.Name == "vplayer") {
if (!e.SupportsVideo) {
messageBlock.Text += e.FriendlyName + " does not support streaming video. " +
"Please select a different device.";
return;
}
}
if (mediaElement.Name == "aplayer") {
if (!e.SupportsAudio) {
messageBlock.Text += e.FriendlyName + " does not support streaming audio. " +
"Please select a different device.";
return;
}
}
Windows.Storage.Streams.IRandomAccessStream iconStream = e.Icon;
Windows.UI.Xaml.Media.Imaging.BitmapImage iconBitmap =
new Windows.UI.Xaml.Media.Imaging.BitmapImage();
iconBitmap.SetSource(iconStream);
playToDeviceIconImage.Source = iconBitmap;
playToDeviceFriendlyNameBlock.Text = e.FriendlyName;
}
private void playToConnectionError(
Windows.Media.PlayTo.PlayToConnection connection,
Windows.Media.PlayTo.PlayToConnectionErrorEventArgs e)
{
if (e.Code == Windows.Media.PlayTo.PlayToConnectionError.DeviceError ||
e.Code == Windows.Media.PlayTo.PlayToConnectionError.DeviceNotResponding)
{
messageBlock.Text += "Error occurred. Disconnecting.\n";
}
messageBlock.Text += "Error: Message = " + e.Message.ToString() + "\n";
}
private void playToConnectionStageChanged(
Windows.Media.PlayTo.PlayToConnection connection,
Windows.Media.PlayTo.PlayToConnectionStateChangedEventArgs e)
{
messageBlock.Text += "StateChanged: PreviousState = " + e.PreviousState.ToString() + "\n";
messageBlock.Text += "StateChanged: CurrentState = " + e.CurrentState.ToString() + "\n";
}
private void playToConnectionTransferred(
Windows.Media.PlayTo.PlayToConnection connection,
Windows.Media.PlayTo.PlayToConnectionTransferredEventArgs e)
{
messageBlock.Text += "Transferred: PreviousSource = " + e.PreviousSource.ToString() + "\n";
messageBlock.Text += "Transferred: CurrentSource = " + e.CurrentSource.ToString() + "\n";
}
Private ptm As Windows.Media.PlayTo.PlayToManager =
Windows.Media.PlayTo.PlayToManager.GetForCurrentView()
Protected Overrides Sub OnNavigatedTo(e As Navigation.NavigationEventArgs)
AddHandler ptm.SourceRequested, AddressOf sourceRequestHandlerWithEvents
AddHandler ptm.SourceSelected, AddressOf sourceSelectedHandler
End Sub
Private Sub sourceRequestHandlerWithEvents(
sender As Windows.Media.PlayTo.PlayToManager,
e As Windows.Media.PlayTo.PlayToSourceRequestedEventArgs)
Try
Dim controller = mediaElement.PlayToSource
AddHandler controller.Connection.Error, AddressOf playToConnectionError
AddHandler controller.Connection.StateChanged, AddressOf playToConnectionStageChanged
AddHandler controller.Connection.Transferred, AddressOf playToConnectionTransferred
e.SourceRequest.SetSource(controller)
Catch ex As Exception
messageBlock.Text &= "Exception encountered: " & ex.Message & vbCrLf
End Try
End Sub
' Called when the user selects a Play To device to stream to.
Private Sub sourceSelectedHandler(
sender As Windows.Media.PlayTo.PlayToManager,
e As Windows.Media.PlayTo.PlayToSourceSelectedEventArgs)
If mediaElement.Name = "iplayer" Then
If Not e.SupportsImage Then
messageBlock.Text &= e.FriendlyName & " does not support streaming images. " &
"Please select a different device."
Return
End If
End If
If mediaElement.Name = "vplayer" Then
If Not e.SupportsVideo Then
messageBlock.Text &= e.FriendlyName & " does not support streaming video. " &
"Please select a different device."
Return
End If
End If
If mediaElement.Name = "aplayer" Then
If Not e.SupportsAudio Then
messageBlock.Text &= e.FriendlyName & " does not support streaming audio. " &
"Please select a different device."
Return
End If
End If
Dim iconStream = e.Icon
Dim iconBitmap = New Windows.UI.Xaml.Media.Imaging.BitmapImage()
iconBitmap.SetSource(iconStream)
playToDeviceIconImage.Source = iconBitmap
playToDeviceFriendlyNameBlock.Text = e.FriendlyName
End Sub
Private Sub playToConnectionError(
connection As Windows.Media.PlayTo.PlayToConnection,
e As Windows.Media.PlayTo.PlayToConnectionErrorEventArgs)
If e.Code = Windows.Media.PlayTo.PlayToConnectionError.DeviceError OrElse
e.Code = Windows.Media.PlayTo.PlayToConnectionError.DeviceNotResponding Then
messageBlock.Text &= "Error occurred. Disconnecting." & vbCrLf
End If
messageBlock.Text &= "Error: Message = " & e.Message.ToString() & vbCrLf
End Sub
Private Sub playToConnectionStageChanged(
connection As Windows.Media.PlayTo.PlayToConnection,
e As Windows.Media.PlayTo.PlayToConnectionStateChangedEventArgs)
messageBlock.Text &= "StateChanged: PreviousState = " & e.PreviousState.ToString() & vbCrLf
messageBlock.Text &= "StateChanged: CurrentState = " & e.CurrentState.ToString() & vbCrLf
End Sub
Private Sub playToConnectionTransferred(
connection As Windows.Media.PlayTo.PlayToConnection,
e As Windows.Media.PlayTo.PlayToConnectionTransferredEventArgs)
messageBlock.Text &= "Transferred: PreviousSource = " & e.PreviousSource.ToString() & vbCrLf
messageBlock.Text &= "Transferred: CurrentSource = " & e.CurrentSource.ToString() & vbCrLf
End Sub
Hinweise
Ein Beispiel für die Verwendung von Play To in einer Anwendung finden Sie unter PlayReady DRM.
Eigenschaften
State |
Ruft den Status der Verbindung "Wiedergeben auf" ab. |
Ereignisse
Error |
Tritt auf, wenn für die Verbindung "Wiedergeben auf" ein Fehler auftritt. |
StateChanged |
Tritt auf, wenn sich der Status der Verbindung "Wiedergeben auf" geändert hat. |
Transferred |
Tritt auf, wenn die Play To-Verbindung an die nächste Play To-Quelle übertragen wird. |