-1
我想使用Xamarin C#Android來查找音軌的持續時間。我正在使用MediaPlayer播放我的音頻文件。在SO)在MediaPlayer class如何在Xamarin中使用MediaPlayer的軌道持續時間
然而
大多數其他的答案和官方文檔點我到一個簡單的方法MediaPlayer.GetDuration(,智能感知不提出這個問題作爲一個選項。出現軌跡信息可能會有用,但?
下面
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();
}
該死。謝謝。爲什麼文檔中不那麼簡單?這是正常的嗎? – Jim
謝謝。你知道(出於好奇)爲什麼getDuration不存在? – Jim
我使用標準的Xamarin C#。我很困惑。不管怎樣,謝謝你。 – Jim