gpt4 book ai didi

c# - Xamarin 社区工具包 MediaPlayer 自动播放不起作用?

转载 作者:行者123 更新时间:2023-12-05 05:32:51 25 4
gpt4 key购买 nike

我多次遇到这个问题,但直到我正在执行的当前任务之前,我才不太担心。但现在我真的需要删除自动播放,因为此音频只能在用户交互时播放,而不是在页面加载开始时播放。

MediaPlayer CurrentState 属性,不能在屏幕加载时更改或分配,因为它是只读。这很烦人,我不知道为什么它不起作用。 AutoPlay="false" 并且在页面加载开始时仍然播放声音。

我的元素是不可见的,因为它只需要播放声音而没有人需要看到它。如果您有其他方法,请在评论中提出建议,我会尝试。

<xct:MediaElement x:Name="mediaPlayer"
Source="{Binding WordSoundSource}"
IsVisible="false"
AutoPlay="false"/>

更新
如果我在我的构造函数中添加 mediaPlayer.Stop() 以停止元素在开始时播放,那么在用户点击任何播放的播放事件时,这非常烦人。

这就是我在用户点击具有 Image.GestureRecognizers && TapGestureRecognizer 的图像时处理 mediaPlayer.Play() 的方式

<Image Source="sound_icon.png"
VerticalOptions="CenterAndExpand"
HorizontalOptions="EndAndExpand"
HeightRequest="40"
WidthRequest="40"
Margin="0, 10, 80, 0">
<Image.GestureRecognizers>
<TapGestureRecognizer x:Name="ReplaySound"
NumberOfTapsRequired="1"
Tapped="ReplaySound_Tapped"/>
</Image.GestureRecognizers>
</Image>
private void ReplaySound_Tapped(object sender, EventArgs e)
{
if (mediaPlayer.CurrentState == MediaElementState.Stopped ||
mediaPlayer.CurrentState == MediaElementState.Paused)
{
mediaPlayer.Play();
}
}

还有一个帖子issues #1715在 GitHub 上说这是一个错误,但这是将近一年前的事了……我想知道这是否是同一件事?

提前致谢。

最佳答案

我去年遇到过这个问题,解决它的唯一可能方法是默认将速度设置为 0,然后在需要播放时将其设置为 1。

<MediaElement 
x:Name ="vidPlayer"
Source="ms-appx:///XamarinForms101UsingEmbeddedImages.mp4"
Speed="0"
ShowsPlaybackControls="True"
.
.
.
/>

然后玩的时候改成1:

vidPlayer.Speed= 1.0;

关于c# - Xamarin 社区工具包 MediaPlayer 自动播放不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73973087/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com