0

つまり、ローカルの sqlitedatabse にいくつかのオーディオ ファイルがあり、Android のネイティブ メディア プレーヤーで再生したいと考えています。ドキュメントを参照すると、オーディオファイルをSDカードに配置するか、サーバーからストリーミングするか、URIによってオーディオを再生できます。

メディア プレーヤーにバイト配列を渡してオーディオ ファイルを再生する方法はありません。

したがって、私の解決策は、メディア プレーヤーが URI を介してデータベース内のオーディオ ファイルにアクセスできるようにする CONTENTPROVIDER を構築することです。私はこのチュートリアルを通じてそのアイデアを思いつきました

http://www.vogella.com/articles/AndroidSQLite/article.html

これは可能ですか?私の問題を実装するためのより良い方法はありますか?

4

1 に答える 1

0

私があなたの質問を正しく理解しているなら、あなたはあなたが読むためにアンドロイドシステムに渡す人工のURLを作成することを提案しています、そしてあなたはSQLiteからそれを読むことによってURLを裏付けるデータを提供します。これはおそらく機能し、コンテンツのデコードに関するいくつかの問題を解決しますが、システム内に厄介なURLとソケットを作成する必要があります。それが最も信頼できる、または効率的な方法ではないかもしれません。

別の方法は、データを自分でPCMにデコードし、オーディオトラックを介してAndroidに提供することです。データのストリームをパイプするためだけにハッキングされた(そして人工的な)URLを作成しようとしているのではないため、これは優れていますが、データを自分で解析してPCMに変換する必要がある場合があります。データベースにあるフォーマットによっては、これらの種類の変換用のAndroidライブラリにアクセスできないため、これは困難で価値がない場合があります。したがって、どちらの方法が最適かは目標によって異なりますが、これらが2つの選択肢だと思います。

于 2013-02-08T20:43:02.180 に答える