2011-02-04 41 views
10

Tôi đã tìm thấy nhiều chủ đề thảo luận về sự hỗ trợ của thẻ trên Android. Cho đến nay có vẻ như, ngay cả Android Froyo 2.2 cũng không thể phát âm thanh (tôi đã thực hiện kiểm tra trên nexus One).HTML5 <audio> thẻ trên Android

Theo trang web www.html5test.com, chính thẻ được hỗ trợ, nhưng không có codec nào trong trình duyệt (mp3, ogg ..). Vậy làm thế nào tôi có thể giải quyết vấn đề?

Cho đến nay tôi chỉ thấy một giải pháp, sử dụng trình phát Flex hoặc Flash được nhúng, có thể phát trực tuyến mp3. Đúng không? Đó có phải là cách duy nhất tôi có thể chơi .mp3 hoặc luồng âm thanh khác trong trình duyệt web Android không?

Android 2.3 Gingerbread có hỗ trợ một số luồng âm thanh không ???

Thanks a lot BR Sten

thêm sau: Giải pháp làm việc cuối cùng tôi sử dụng là một .swf Flex nhỏ cho streaming. Nó có thể được khá dễ dàng tích hợp với trang web HTML (giao tiếp Flex-Javascript hoạt động khá tốt). Vấn đề duy nhất là trên một số điện thoại, Flash Player không được cài đặt lại và phải được tải xuống từ Android Market trước.

gia tăng thậm chí sau: Vâng, yếu tố <audio> là lỗi ngay cả trên Android 2.3 - Tôi không biết những gì đang làm trong Google rằng một điều đơn giản như là một vấn đề. Sử dụng Flex Player là okey, nhưng vấn đề là trên một số điện thoại, Adobe Flash player không thể được cài đặt từ thị trường Android, bởi vì có một số yêu cầu của Adobe HW như CPU ​​1Ghz, v.v. Một số nhà cung cấp như HTC đang cung cấp các trình phát Flash riêng, nhưng chúng khá tệ và không hoạt động chính xác với AS 3.0 ... Cho đến nay mọi thứ hoạt động hoàn hảo đặc biệt trên điện thoại Samsung (như Nexus S hoặc Galaxy S).

+0

Tôi đã thử nghiệm một chút với thẻ âm thanh để làm cho nó hoạt động với Android 2.3, nhưng đã xuất hiện ngắn (sử dụng trình mô phỏng).Tuy nhiên, sử dụng phần tử

Trả lời

6

Những gì bạn đào lên đồng ý với những gì tôi đã chạy vào. 2.2 hỗ trợ thẻ âm thanh nhưng không có codec để trở lại nó, điều này rõ ràng là một lỗi cố được khắc phục trong phiên bản vượt Froyo:

http://code.google.com/p/android/issues/detail?id=9372

Tôi đã sử dụng thẻ âm thanh với một tập tin mp3 trên Nexus S của tôi , nó hoạt động chính xác ở đó (cho bản phát hành firmware mới nhất ít nhất).

+0

Xin chào, phiên bản tối thiểu là hệ điều hành Android 2.3, đúng không? Các giải pháp dự phòng là gì? Trình phát được nhúng Flash/Flex? Cảm ơn rất nhiều vì đã bình luận. BR STeN – STeN

+0

Tôi cho rằng flash có thể là một lựa chọn, nhưng tôi không thể đưa ra lời khuyên thực tế nào ở đó. Tôi chỉ chờ 2.3 để được phổ biến rộng rãi. – mikerowehl

+0

Xin chào, tôi đã quyết định nhúng trình phát dòng Flex nhỏ vào ứng dụng web của mình như một giải pháp tạm thời cho đến khi 2,3 được sử dụng rộng rãi. Bạn có biết cách kiểm tra JavaScript nếu Flash Player được cài đặt không? Cảm ơn – STeN

6

Tôi quên hỏi trước. Bạn đang nghĩ đến việc phát triển một ứng dụng Android hay chỉ là một ứng dụng web thông thường? Nguyên nhân cho giải pháp này bạn sẽ cần mã Android.

Nếu bạn không cân nhắc sử dụng mã Android, thì bạn có thể bỏ qua phần còn lại của thư, xin lỗi!

============================================== ====================================

Đây là một số mẹo: Bạn có thể sử dụng liên kết thông thường các tập tin âm thanh của bạn, hoặc sử dụng javascript để chuyển hướng đến một trong các tập tin (nếu bạn cho phép javascript làm điều đó), sau đó ghi đè lên tải Url, như thế này:

mWebView.getSettings().setJavaScriptEnabled(true); 
mWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true); 
mWebView.setWebViewClient(new WebViewClient(){ 
    @Override 
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 
     if (url.endsWith(".ogg")){ 
      Log.d(TAG, "Reproducir archivo OGG"); 
      Uri tempPath = Uri.parse(url); 
      MediaPlayer player = MediaPlayer.create(WebViewVideo.this, tempPath); 
      player.start(); 
      return true; 
     }else{ 
      return super.shouldOverrideUrlLoading(view, url); 
     } 
    } 

}); 

Hope this helps, nó cho tôi!

Trân trọng.

+0

Xin chào, cảm ơn vì mẹo thú vị - có thể hữu ích cho tôi trong các ứng dụng khác ... Thật không may lần này tôi đang làm ứng dụng web thực sự thuần túy ...: ((BR STeN) – STeN

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