2016-02-23 16 views
5

Tôi đang làm việc trên ứng dụng phonegap/cordova để phát các tệp âm thanh được lưu trữ cục bộ.Phonegap/Cordova - Mã không phát âm thanh trên android (Không phải vấn đề đường dẫn)

Tôi đang gặp sự cố với một số mã và android trong đó ví dụ 1 không phát trên Android và ví dụ 2 không phát.

LƯU Ý: Vấn đề không phải là đường dẫn, tôi biết rằng đường dẫn đến tệp là chính xác.

Ví dụ 1 - Không phát trên Android nhưng phát tốt trên IOS nơi đường dẫn được sửa đổi cho iOS.

var audiofile = cordova.file.dataDirectory+'android_asset/www/audio/1.aac'; 

... 

$(".player").html('<div class="audioDemo-wrapper"><audio class="audioDemo" controls><source src="'+audiofile+'" type="audio/mpeg"></audio><div class="closeAudioBtn" onclick="stopAndCloseAudio();">X</div></div>'); 
$(".audioDemo").trigger('play'); 

Ví dụ 2 - Tính năng này hoạt động trên Android nhưng không phải cách tôi muốn.

var audiofile = cordova.file.dataDirectory+'android_asset/www/audio/1.aac'; 

window.open(audiofile, '_blank', 'location=no,closebuttoncaption=Close'); 

Sự khác biệt chủ yếu là ví dụ 2 mở trên cửa sổ mới?

Tại sao Ví dụ 1 không phát trên Android khi nó phát trên IOS (Lưu ý: Đường dẫn không phải là vấn đề)

Bất kỳ ý tưởng nào?

+0

Bạn có thể kiểm tra liên kết này http://html5doctor.com/html5-audio-the-state-of-p lay/ Có thể hữu ích cho bạn. – Angu

+0

Một cái gì đó để xem xét - nếu plugin cordova của bạn đang cố gắng chơi nguyên bản, bạn có thể cần phải tra cứu Uri của tập tin từ MediaStore (một con đường sẽ không hoạt động). –

+0

@ Satch3000 Tôi đã xem xét các bài đăng của bạn, có vẻ đây là lần đột phá đầu tiên của bạn vào Cordova. Điều này có đúng không? Nếu có, vui lòng ** trả lời các câu hỏi sau trong bài đăng của bạn **. Đây có phải là ứng dụng lai đầu tiên của bạn không?Bạn đang sử dụng [CLI hoặc SDK] (https://github.com/jessemonroy650/top-phonegap-mistakes/blob/master/new-to-Phonegap.md#001)? Xin vui lòng không giả định câu trả lời, xin vui lòng đọc liên kết. (Tôi giả sử không * Xây dựng *). Sau đó, câu hỏi * trong bài đăng *, trả lời trong các nhận xét để tôi biết bạn đã thêm thông tin vào bài đăng. – JesseMonroy650

Trả lời

1

Với webview Cordova trên Android, bạn có thể sử dụng:

1) âm thanh HTML5 API (còn được bao bọc bởi jQuery) để chơi tập tin âm thanh từ trang web.

2) Plugin Cordova cung cấp API để phát tệp âm thanh cục bộ đi kèm với dự án Cordova; ví dụ hai Cordova plugin để chơi các file âm thanh bao gồm:

Một cách khác là sử dụng Crosswalk trong một dự án Cordova, vì vậy thay thế Cordova webview mẹ đẻ với webview crosswalk. Bằng cách này, bạn có chế độ xem web dựa trên Chromium, cho phép hỗ trợ cho tất cả web APIs hiện đại, bao gồm cả âm thanh.

Một số mini-hướng dẫn hữu ích cho dự án Ionic/Cordova (áp dụng cho các dự án chỉ Cordova):

PS: tiếc là tôi đã không thể tìm thấy trên Tài liệu Cordova chi tiết về các API web được hỗ trợ bởi Android Cordova webview

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