C# 如何在Xamarin中使用MediaPlayer获得曲目的持续时间
我想使用Xamarin C#Android查找音频曲目的持续时间。我正在使用MediaPlayer播放我的音频文件 关于SO和官方文档的大多数其他答案都向我指出了一个简单的方法MediaPlayer.GetDuration() 然而,intellisense并没有将此作为一种选择。“获取曲目信息”会出现,这可能有用吗 完整代码如下C# 如何在Xamarin中使用MediaPlayer获得曲目的持续时间,c#,android,audio,xamarin,C#,Android,Audio,Xamarin,我想使用Xamarin C#Android查找音频曲目的持续时间。我正在使用MediaPlayer播放我的音频文件 关于SO和官方文档的大多数其他答案都向我指出了一个简单的方法MediaPlayer.GetDuration() 然而,intellisense并没有将此作为一种选择。“获取曲目信息”会出现,这可能有用吗 完整代码如下 public void StartAudio() { if (player == null) { player = new Medi
public void StartAudio()
{
if (player == null)
{
player = new MediaPlayer();
player.Completion += PlayNextTrack;
}
else
{
player.Reset();
}
player.Looping = false;
AssetFileDescriptor descriptor = Assets.OpenFd(currentTrack.FileName.ToString());
player.SetDataSource(descriptor.FileDescriptor,descriptor.StartOffset,descriptor.Length);
player.Prepare();
player.Start();
if (currentTrack.TrackType == TrackType.Pause)
{
int timerLength = 0;
int duration = player.GetDuration();
timerLength = duration - 10; // or something...
StartAlarmClockTimer(timerLength); // Special Case. Attach a countdown timer to this track
}
Toast.MakeText(this, "Playing Track " + currentTrack.TrackNumber.ToString(), ToastLength.Short).Show();
}
Xamarin通常将Java风格的Get方法重命名为标准C#属性
因此Java中的
GetDuration()
变成了C中的Duration
Xamarin通常将Java风格的Get方法重命名为标准C属性
所以Java中的
GetDuration()
变成了C中的Duration
该死。谢谢为什么文档中没有这么简单的东西?这正常吗?谢谢。你知道(出于好奇)为什么getDuration不存在吗?我使用的是标准的Xamarin C。我很困惑。无论如何谢谢你,该死的。谢谢为什么文档中没有这么简单的东西?这正常吗?谢谢。你知道(出于好奇)为什么getDuration不存在吗?我使用的是标准的Xamarin C。我很困惑。无论如何,谢谢你。