2017-08-14 55 views
-1

我想使用Xamarin C#Android來查找音軌的持續時間。我正在使用MediaPlayer播放我的音頻文件。在SO)在MediaPlayer class如何在Xamarin中使用MediaPlayer的軌道持續時間

然而

大多數其他的答案和官方文檔點我到一個簡單的方法MediaPlayer.GetDuration(,智能感知不提出這個問題作爲一個選項。出現軌跡信息可能會有用,但?

where is get duration?

下面

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();    
} 
+0

該死。謝謝。爲什麼文檔中不那麼簡單?這是正常的嗎? – Jim

+0

謝謝。你知道(出於好奇)爲什麼getDuration不存在? – Jim

+0

我使用標準的Xamarin C#。我很困惑。不管怎樣,謝謝你。 – Jim

回答

1

Xamarin的完整代碼通常是重命名的Java風格Get方法作爲標準C#屬性

所以GetDuration()在Java中變得Duration在C#

相關問題