2011-07-20 68 views
39

Tôi đã cố gắng xem xét sử dụng thư viện OpenSL ES có sẵn để phát âm thanh gốc với android 2.3, nhưng dường như các tệp tiêu đề và pdf trang 600 của thông số là chỉ tài liệu có sẵn.Hướng dẫn cho OpenSL ES dành cho Android

Tôi nên tìm các ví dụ, hướng dẫn hoặc tổng quan ngắn gọn về các khả năng ở đâu?

+0

hãy kiểm tra googlesample https://github.com/googlesamples/android-ndk/tree/master/native-audio – animation123

Trả lời

21

Có một ứng dụng mẫu đi kèm với NDK được gọi là NativeAudio. Nó có các ví dụ về gần như bất cứ điều gì bạn muốn thực hiện: hiệu ứng, streaming, tổng hợp, vv Nếu bạn nhìn vào mã của nó, bạn sẽ có được một khởi đầu tốt.

16

Bạn cũng có thể kiểm tra victor Lazzarini blog lập trình âm thanh, nó có một phần android: http://audioprograming.wordpress.com/category/android/

Ở đó bạn sẽ tìm thấy ví dụ làm việc, họ đã vô cùng hữu ích cho tôi để bắt đầu với openSL và có thể được sử dụng như một cơ sở để phát triển các ứng dụng âm thanh với ndk.

Ngoài ra, không bỏ qua tài liệu chi tiết, phần đầu không quá năm mươi trang và cung cấp cho bạn góc nhìn cần thiết để hiểu cách mọi thứ hoạt động, phần còn lại là để sử dụng tham chiếu. Hãy cẩn thận rằng một số điều trong triển khai openSL android khác với các thông số kỹ thuật: xem trong thư mục-ndk/docs/opensles/index.html của bạn để biết thêm thông tin về điều này.

+0

blog là tin .. – Timo

+1

@Timo, câu hỏi là trong hơn năm năm cũ, rất nhiều thứ đã thay đổi kể từ đó (thậm chí có một API âm thanh mới có thể được sử dụng thay vì OpenSL trên các thiết bị mới hơn!). Nếu bạn vẫn đang tìm kiếm các ví dụ, hãy xem các bản github của google: https://github.com/googlesamples/android-ndk/tree/master/audio-echo và https://github.com/googlesamples/android hiệu suất cao -audio. Lời khuyên của tôi về các thông số kỹ thuật OpenSL vẫn đứng vững. Một nguồn thông tin khác là nhóm google ndk: https://groups.google.com/forum/#!forum/android-ndk, chỉ cần tìm kiếm bằng từ khóa "âm thanh". – athos

10

Sau một thông tin có giá trị hơn khá tìm kiếm tôi đã tìm thấy:

+0

có vẻ như tôi vô tình bỏ phiếu cho câu trả lời này:/sẽ xóa phiếu bầu ngay khi phiếu bầu của tôi được mở khóa –

8

Đối với những người bạn chỉ muốn phát các tệp âm thanh đơn hoặc ghi lại ảnh chụp nhanh (trong một bộ đệm), dự án NDK sẽ là đủ. Tôi đã xem "Hướng dẫn cho người mới bắt đầu NDK của Android" và nó thực sự không giải thích quá nhiều so với dự án NDK mẫu.

Nhưng thực sự, đối với các ứng dụng này, bạn có thể tốt hơn với một trong các API Java. Sử dụng OpenSL ES cho họ là một chút của một IMHO quá mức. Sẽ có nhiều mã hơn để viết và không đạt được thực. Ưu điểm của OpenSL là dành cho những người quan tâm đến độ trễ thấp hơn (khi có sẵn) để tổng hợp và xử lý âm thanh, và cho điều này, bạn có thể muốn phát âm thanh, thay vì phát/ghi các bộ đệm đơn. Chương sách và ví dụ NDK sẽ không dạy bạn về điều đó. Các bài đăng trên blog trong blog lập trình âm thanh có nhiều thông tin hơn cho những mục đích này.

+0

và các bài đăng trên blog đó là gì? Câu trả lời của bạn có thực sự là câu trả lời không? nó trông giống như một bình luận cho tôi .. – aProgrammer

+0

Tôi tin rằng anh ấy đang đề cập đến điều này: http://audioprograming.wordpress.com/, được gọi là "Blog lập trình âm thanh" –

0

Một trong những blog lập trình âm thanh của Victor Lazzarini trên phần Android thực sự là một khởi đầu tốt. http://audioprograming.wordpress.com/category/android/

Và có một mã ví dụ có thể tải xuống trực tiếp từ kho lưu trữ bitbucket git cho blog này, đó là phần chào đón nhất.

Việc xây dựng và chạy khá đơn giản.Đối với tôi, tôi cần các bước này để tạo và chạy ví dụ này:

  1. Cài đặt SWIG: swig-3.0.2. Cài đặt theo 3 bước:

    $ configure $ make $ sudo make install.

  2. Chỉnh sửa build.sh để phản ánh vị trí của NDK của bạn. Và chạy tập lệnh build.sh ở thư mục cấp cao nhất.
  3. Tạo build.xml bởi:

    $ dự án cập nhật android --name opensl-es-audiotest --target 1 --path ./

  4. Xây dựng với kiến: $ ant debug
  5. Sau đó, bạn có thể cài đặt nó vào điện thoại của bạn và thử nghiệm nó:

    $ adb install bin/opensl-es-audiotest-debug.apk

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