MediaPlayerElement play/pause 按钮始终处于禁用状态
MediaPlayerElement play/pause button is always disabled
我正在开发一个新应用,我决定使用 MediaPlayerElement 来播放背景音乐和视频,但是有一个问题。
此外,Universal Windows 平台样本上的 SystemMediaTransportControls 样本也存在同样的问题。
在该示例中,AreTransportControlsEnabled 设置为 False,但如果将其更改为 True,您将看到一个禁用的 Play/Pause 按钮,并且没有 属性 可启用它!
甚至我尝试通过名称获取 MediaTransportControl 中的按钮并尝试将它们设置为启用,但是单击一次播放或暂停按钮会使它再次禁用而无需任何操作。
有什么解决办法吗?
问候。
编辑:我还更改了这些行以添加更多按钮。
<MediaPlayerElement x:Name="mediaPlayerElement" Margin="0,0,10,0" AreTransportControlsEnabled="True" VerticalAlignment="Top">
<MediaPlayerElement.TransportControls>
<MediaTransportControls IsNextTrackButtonVisible="True" IsPreviousTrackButtonVisible="True"
IsSkipBackwardButtonVisible="True" IsSkipBackwardEnabled="True"
IsSkipForwardButtonVisible="True" IsSkipForwardEnabled="True"/>
</MediaPlayerElement.TransportControls>
</MediaPlayerElement>
“跳过”按钮也被禁用,“下一个”和“上一个”按钮已启用,但如果您单击它们则不会执行任何操作。同样的行为也发生在我的应用程序上。
MediaPlayerElement play/pause button is always disabled
官方代码示例是 handle the SMTC manually,,因此内部 play/pause 按钮始终处于禁用状态。
如果您想使用内部 SMTC,请使用以上 xaml 代码制作一个空白示例。
例如
<MediaPlayerElement
x:Name="mediaPlayerElement"
Margin="0,0,10,0"
AreTransportControlsEnabled="True"
Source="ms-appx:///Assets/hello.mp4">
<MediaPlayerElement.TransportControls>
<MediaTransportControls
IsNextTrackButtonVisible="True"
IsPreviousTrackButtonVisible="True"
IsSkipBackwardButtonVisible="True"
IsSkipBackwardEnabled="True"
IsSkipForwardButtonVisible="True"
IsSkipForwardEnabled="True" />
</MediaPlayerElement.TransportControls>
</MediaPlayerElement>
更新
private async void Page_Drop(object sender, DragEventArgs e)
{
var def = e.GetDeferral();
var file = (StorageFile)(await e.DataView.GetStorageItemsAsync()).FirstOrDefault();
EmbeddedPlayer.Source = MediaSource.CreateFromStorageFile(file);
//await AppCore.Instance.Play(new StorageFile[] { file });
//EmbeddedPlayer.SetMediaPlayer(AppCore.Instance.MediaPlayer);
EmbeddedPlayer.MediaPlayer.Play();
def.Complete();
}
我正在开发一个新应用,我决定使用 MediaPlayerElement 来播放背景音乐和视频,但是有一个问题。 此外,Universal Windows 平台样本上的 SystemMediaTransportControls 样本也存在同样的问题。 在该示例中,AreTransportControlsEnabled 设置为 False,但如果将其更改为 True,您将看到一个禁用的 Play/Pause 按钮,并且没有 属性 可启用它! 甚至我尝试通过名称获取 MediaTransportControl 中的按钮并尝试将它们设置为启用,但是单击一次播放或暂停按钮会使它再次禁用而无需任何操作。
有什么解决办法吗? 问候。
编辑:我还更改了这些行以添加更多按钮。
<MediaPlayerElement x:Name="mediaPlayerElement" Margin="0,0,10,0" AreTransportControlsEnabled="True" VerticalAlignment="Top">
<MediaPlayerElement.TransportControls>
<MediaTransportControls IsNextTrackButtonVisible="True" IsPreviousTrackButtonVisible="True"
IsSkipBackwardButtonVisible="True" IsSkipBackwardEnabled="True"
IsSkipForwardButtonVisible="True" IsSkipForwardEnabled="True"/>
</MediaPlayerElement.TransportControls>
</MediaPlayerElement>
“跳过”按钮也被禁用,“下一个”和“上一个”按钮已启用,但如果您单击它们则不会执行任何操作。同样的行为也发生在我的应用程序上。
MediaPlayerElement play/pause button is always disabled
官方代码示例是 handle the SMTC manually,,因此内部 play/pause 按钮始终处于禁用状态。
如果您想使用内部 SMTC,请使用以上 xaml 代码制作一个空白示例。
例如
<MediaPlayerElement
x:Name="mediaPlayerElement"
Margin="0,0,10,0"
AreTransportControlsEnabled="True"
Source="ms-appx:///Assets/hello.mp4">
<MediaPlayerElement.TransportControls>
<MediaTransportControls
IsNextTrackButtonVisible="True"
IsPreviousTrackButtonVisible="True"
IsSkipBackwardButtonVisible="True"
IsSkipBackwardEnabled="True"
IsSkipForwardButtonVisible="True"
IsSkipForwardEnabled="True" />
</MediaPlayerElement.TransportControls>
</MediaPlayerElement>
更新
private async void Page_Drop(object sender, DragEventArgs e)
{
var def = e.GetDeferral();
var file = (StorageFile)(await e.DataView.GetStorageItemsAsync()).FirstOrDefault();
EmbeddedPlayer.Source = MediaSource.CreateFromStorageFile(file);
//await AppCore.Instance.Play(new StorageFile[] { file });
//EmbeddedPlayer.SetMediaPlayer(AppCore.Instance.MediaPlayer);
EmbeddedPlayer.MediaPlayer.Play();
def.Complete();
}