Tôi đang sử dụng một số đối tượng trình phát đa phương tiện để lặp lại một số bản nhạc và tôi muốn biết đó là sự khác biệt giữa việc sử dụng MediaPlayer.create (resId) so với lập trình thủ công các trạng thái khác nhau, sử dụng setDataSource (FileDescriptor) ect .. Tôi vẫn còn mới cho android vì vậy tôi không có ý tưởng.Sự khác biệt giữa triển khai MediaPlayer.create và setDataSource
Trả lời
.create()
là một phương pháp tĩnh của MediaPlayer
lớp, bất cứ khi nào bạn muốn gọi .create()
bạn phải gọi nó bằng ClassName.methodName()
như MediaPlayer.create()
khi setDataResource()
là một phương pháp trong MediaPlayer
lớp nó sẽ được gọi thông qua việc thể hiện của MediaPlayer
như
MediaPlayer mp;
mp.setDataResource("your sdCard File Path...");
Bây giờ nếu bạn sử dụng MediaPlayer.create()
bạn nên có tệp âm thanh (mp3) trong thư mục raw
của mình dưới res
. Nếu bạn không có raw
thư mục tạo ra một (thường là chúng ta phải tạo raw
thư mục bằng tay trong dự án của chúng tôi) và vượt qua resId
của file mp3 trong .create()
phương pháp như
MediaPlayer mp = MediaPlayer.create(R.raw.mp3FileName);
một lần thứ hai là phương pháp setDataResource()
được sử dụng nơi bạn muốn phát tệp âm thanh qua số SDCard
nhưng Bạn cần đảm bảo đường dẫn bạn cung cấp cho setDataSource() là chính xác. Cách tốt nhất để làm điều này, thay vì thể xác định rõ tham chiếu đến '/ sdcard /', là sử dụng
android.os.Environment.getExternalStorageDirectory()
MediaPlayer mediaPlayer = new MediaPlayer();
File path = android.os.Environment.getExternalStorageDirectory();
mediaPlayer.setDataSource(path + "/fileName.mp3");
Bằng cách này bạn có thể nhận được đường dẫn chính xác và chơi mp3 của bạn thông qua SDCard. Hy vọng giải thích này sẽ giúp bạn hiểu. Để biết thêm thông tin, hãy xem MediaPlayer From Android Developer Site
- 1. Sự khác biệt giữa xây dựng và triển khai?
- 2. Sự khác biệt giữa triển khai Web và triển khai FTP trong Visual studio?
- 3. Sự khác biệt giữa triển khai Red/Black và Triển khai Xanh/Xanh là gì?
- 4. Sự khác biệt giữa việc triển khai JVM
- 5. Sự khác biệt giữa com.mysema.query và com.querydsl?
- 6. Sự khác biệt giữa $ * và $ @
- 7. Sự khác biệt giữa phát triển Cocoa và iPhone
- 8. Sự khác biệt giữa "Mục tiêu triển khai" và "Mục tiêu triển khai iOS" trong Xcode 4
- 9. Trong RSpec, sự khác biệt giữa cuống! và sơ khai?
- 10. Sự khác biệt giữa BaseHttpServer và wsgiref.simple_server
- 11. Sự khác biệt giữa việc triển khai ngầm định và rõ ràng các giao diện C#
- 12. Sự khác biệt giữa GetHashCode được triển khai trong lớp Object và ValueType là gì?
- 13. Sự khác biệt giữa Kestrel và Katana
- 14. Sự khác biệt giữa $ (...) và `...`
- 15. Sự khác biệt giữa. và #
- 16. Sự khác biệt giữa ". +" Và ". +?"
- 17. Sự khác biệt giữa "**/* /" và "** /"?
- 18. Sự khác biệt giữa $ # và $ {# @}
- 19. Sự khác biệt giữa = và: =
- 20. Sự khác biệt giữa Camel và BPEL
- 21. Sự khác biệt giữa strstream và stringstream
- 22. Sự khác biệt giữa Mealy và Moore
- 23. Sự khác biệt giữa UIViewController và UITableViewController
- 24. Sự khác biệt giữa shims và stubs
- 25. Sự khác biệt giữa "hoặc" và "||"
- 26. Sự khác biệt giữa đối tượng và *?
- 27. Sự khác biệt giữa java.util.Scanner và java.util.Scanner. *
- 28. sự khác biệt giữa $ .getJSON và $ .get
- 29. Sự khác biệt giữa coredata và sqlite
- 30. Sự khác biệt giữa sự khác biệt biểu tượng và sự khác biệt tự động?
'MediaPlayer.create()' cũng có thể được sử dụng để phát tệp âm thanh từ Uri –