Tôi đang phát âm thanh trực tiếp và muốn có chức năng tạm dừng trình phát đa phương tiện và sau đó bắt đầu từ vị trí hiện tại. Pause() và Start() mặc định chỉ bắt đầu từ nơi nó dừng lại. Bất kỳ ý tưởng về làm thế nào để giữ cho vị trí hiện tại được cập nhật để Start() là ngay lập tức?Cập nhật Vị trí Bắt đầu MediaPlayer Khi Tạm dừng
Trả lời
Bạn đã thử gọi hàm seekTo() chưa?
Bạn có thể cập nhật thông tin này bằng cách gọi seekTo() cứ nửa giây một lần hoặc lâu hơn với TimerTask, Nhưng tôi không biết tôi cảm thấy thế nào về điều này.
EDIT: Nếu bạn gọi hàm seekTo() sau mỗi 500 mili giây, để giữ nó di chuyển về phía trước, bạn sẽ gọi nó với currentPosition + thời gian đã trôi qua kể từ lần gọi cuối cùng (500 mili giây trong trường hợp này). Nhưng một lần nữa tôi không biết liệu đây có phải là sản phẩm tốt nhất hay không. Một cách khác là tạo một OnSeekCompleteListener để tạo phôi mới (currentPosition + timeEllapsed). Trong trường hợp này, bạn cần phải tính toán timeEllapsed như vậy: currentSystemTime - systemTimeOnLastCall
Từ http://developer.android.com/reference/android/media/MediaPlayer.html:
Vị trí phát lại có thể được điều chỉnh với một cuộc gọi đến seekTo (int).
Mặc dù cuộc gọi tìm kiếm không đồng bộ (int) trả về đúng cách, thao tác tìm kiếm thực tế có thể mất một lúc để hoàn thành, đặc biệt là cho âm thanh/video được phát trực tuyến. Khi hoạt động tìm kiếm thực sự hoàn thành, công cụ trình phát nội bộ gọi người dùng được cung cấp OnSeekComplete.onSeekComplete() nếu một OnSeekCompleteListener đã được đăng ký trước qua setOnSeekCompleteListener (OnSeekCompleteListener).
Xin lưu ý rằng seekTo (int) cũng có thể được gọi ở các trạng thái khác, chẳng hạn như trạng thái Đã chuẩn bị, Tạm dừng và Phát lại được hoàn thành.
Hơn nữa, vị trí phát hiện tại thực tế có thể được truy lục bằng lệnh gọi getCurrentPosition(), rất hữu ích cho các ứng dụng như Trình phát nhạc cần theo dõi tiến trình phát lại.
có vẻ như getCurrentPosition() đang trả về vị trí mà tại đó nó bị tạm dừng, làm thế nào tôi sẽ nhận được vị trí của phần cuối luồng (nội dung trực tiếp) tới vị trí đó(). – Brianjs
+1 cho "Mặc dù cuộc gọi tìm kiếm không đồng bộ (int) trả về đúng cách, hoạt động tìm kiếm thực tế có thể mất một lúc để hoàn thành". Điều này giải quyết được vấn đề của tôi. – Tiago
gọi seekTo (0); sau stream.start(); đã làm cho tôi – aytek
Bạn gọi MediaPlayer.getCurrentPosition khi bạn tạm dừng MediaPlayer và gọi MediaPlayer.seekTo để đặt lại vị trí cho MediaPlayer khi bạn khởi động lại.
Sẽ không chỉ trả lại cho tôi vị trí trong luồng khi Tạm dừng được nhấn? Ít nhất khi tôi thử nghiệm nó là những gì nó làm. Tôi muốn đi đến cuối luồng đến nội dung trực tiếp khi Bắt đầu được nhấn lại. – Brianjs
Ồ, xin lỗi, tôi không để ý đến 'live'. Vì bạn đang phát trực tuyến âm thanh, bạn có thể chỉ đơn giản là 'stop' MediaPlayer khi người dùng tạm dừng nó,' reset' và 'start' MediaPlayer khi người dùng khởi động lại nó. Bạn sẽ luôn ở cuối luồng trực tiếp. – neevek
- 1. Ví dụ MediaPlayer: dừng hoạt động như tạm dừng
- 2. Bắt đầu chiến lược vị trí
- 3. Lỗi MediaPlayer: tạm dừng được gọi ở trạng thái 64
- 4. Tạm dừng và tìm kiếm trong Android MediaPlayer
- 5. Dừng trình nghe sau khi cập nhật lần đầu
- 6. Vị trí bắt đầu của NSSplitView divider
- 7. Dừng NERDTree mở khi vim bắt đầu
- 8. Tạm dừng trong tiến trình CAKeyframeAnimation
- 9. UITableView bắt đầu/kết thúc cập nhật
- 10. Dừng trình nghe vị trí trong Android
- 11. MyLocationOverlay hoặc LocationManager để cập nhật vị trí hiện tại
- 12. Hành vi lạ cập nhật vị trí sprite
- 13. UIScrollView tạm dừng NSTimer trong khi cuộn
- 14. âm thanh tạm dừng bắt đầu chơi tự động trên applicationWillEnterForeground:
- 15. Vị trí nút mạng không được cập nhật, trong cocos3d
- 16. Azure WorkerRole Dừng ngay lập tức sau khi bắt đầu
- 17. Thiết lập vị trí bắt đầu cho OpenFileDialog/SaveFileDialog
- 18. Cập nhật SimpleCursorAdapter trong khi duy trì vị trí cuộn trong ListView
- 19. Cập nhật vị trí đánh dấu Google Maps V3
- 20. leaflet.js - Đặt điểm đánh dấu khi nhấp chuột, cập nhật vị trí khi kéo
- 21. Tạm dừng và tua lại video HTML5
- 22. Bắt đầu và dừng Âm thanh trong Javascript
- 23. vị trí tệp nhật ký trong solr
- 24. CABasicAnimation - Đặt vị trí đột quỵ bắt đầu
- 25. Di chuyển vị trí bắt đầu của vải mẫu
- 26. Mô phỏng cập nhật vị trí trên iPhone Simulator
- 27. Tần suất cập nhật Trình quản lý vị trí, iphone
- 28. Android: Giữ MediaPlayer chạy trong khi cập nhật hướng màn hình Hoạt động
- 29. Android ListView - cuộn trở lại đầu trang khi cập nhật
- 30. Tạm dừng sao chép máy chủ SQL tạm thời
chỉ cần chỉnh sửa câu trả lời của tôi, hy vọng nó sẽ giúp – bughi