2011-08-10 30 views
5

Tôi đang tạo một ứng dụng cho bài hát Phát âm thanh. Trong Trình phát phương tiện tùy chỉnh, tôi phải hiển thị tổng thời lượng của tệp âm thanh đó. Nếu một bài hát âm thanh sẽ SDCard, tôi có thể biết thời gian của nó sử dụngLàm cách nào để biết Thời lượng bài hát trước khi phát trực tiếp?

MediaPlayer player; 

public double duration() { 
     return player.getDuration(); 
    } 

Nhưng trong trường hợp của tôi là tập tin âm thanh trên máy chủ, vì vậy tôi phải dòng nó.

Cách tiếp cận tốt nhất là gì?

+0

séc [này] [1] nó có thể giúp bạn trong việc tìm kiếm chiều dài và thời gian của tập tin phương tiện truyền thông [1]: http://stackoverflow.com/a/13162180/1447595 – Zulfiqar

Trả lời

4

Điều này có thể giúp bạn: Example of Streaming mp3 with android media player class. Dữ liệu tương ứng có thể có sẵn, khi chuẩn bị() được gọi để tệp được phát trực tuyến.

+1

thanx, tôi đang làm việc trên nó, nó có thể hữu ích cho tôi :) –

+0

nó không hoạt động trên Android 2.3. bất kỳ ý tưởng nào có thể là lý do? – rachit

+0

@rachit: Bạn có thể cho biết chính xác những gì đang xảy ra không? Có bất kỳ lỗi nào trong LogCat hay bất kỳ sự cố nào không? – SamSPICA

1

Tôi nghĩ điều này sẽ cho bạn độ dài của tệp được phát trực tiếp. Sau khi tuyên bố mp MediaPlayer đối tượng

mp.start(); 
totalDur=mp.getDuration();//will give you the duration in milliseconds. 

Để tham khảo thêm xin vui lòng đi qua liên kết sau: http://developer.android.com/reference/android/media/MediaPlayer.html#getDuration%28%29

+0

@Gaurav Gupta: Ngoài ra, vui lòng xem qua liên kết sau để phát tệp âm thanh. Trong đó họ đã đề cập đến cách để có được chiều dài của tập tin được truyền trực tiếp: http://developer.android.com/reference/android/media/MediaPlayer.html – Basil

Các vấn đề liên quan