APIを探しています

446 views
Skip to first unread message

オーガ

unread,
Nov 4, 2008, 4:55:41 AM11/4/08
to 日本Androidの会
Androidでアプリを作成しています。
そこで、MP3の再生が可能なことは確認できました。
さらに良くしようと思っていて、曲名や歌手名などの情報を取得したいと考えていますが、
それらしきAPIを見つけることができません。
どなたかご存知の方がいらっしゃったら教えてください。
また、代替の方法があるようでしたら教えてください。

TMizushima

unread,
Nov 4, 2008, 5:08:13 AM11/4/08
to android-g...@googlegroups.com
水島です。

ワンセグ地上波デジタルのミドル・アプリ開発時、音声、映像とは別に、PSI/SI情報なるテーブル
が存在していた記憶があります。
MP3ファイルの中のテーブル構造を解析すると見れると思います。

On Tue, 4 Nov 2008 01:55:41 -0800 (PST)
オーガ <oga...@gmail.com> wrote:

>どなたかご存知の方がいらっしゃったら教えてください。
>また、代替の方法があるようでしたら教えてください。
>>


Mark Miura

unread,
Nov 4, 2008, 5:24:55 AM11/4/08
to android-g...@googlegroups.com
はじめましてビジネスWGの三浦です。

MP3オーディオの情報はコンテンツプロバイダが管理しています。
以下のDBから簡単に取得できます。

http://code.google.com/android/reference/android/provider/MediaStore.Audio.A
udioColumns.html

-----Original Message-----
From: android-g...@googlegroups.com
[mailto:android-g...@googlegroups.com] On Behalf Of オーガ
Sent: Tuesday, November 04, 2008 6:56 PM
To: 日本Androidの会
Subject: [android-group-japan: 160] APIを探しています


Androidでアプリを作成しています。
そこで、MP3の再生が可能なことは確認できました。
さらに良くしようと思っていて、曲名や歌手名などの情報を取得したいと考えていま
すが、
それらしきAPIを見つけることができません。
どなたかご存知の方がいらっしゃったら教えてください。
また、代替の方法があるようでしたら教えてください。


Keiji Ariyama

unread,
Nov 4, 2008, 5:25:24 AM11/4/08
to android-g...@googlegroups.com
小川さん

 僕もandroid.mediaを見てみましたが、Androidの標準にはID3タグの内容を読
み込むようなAPIはなさそうです。

 無いとすれば、ファイルをバイナリとして読み込んで楽曲情報を取得するよう
なプログラムを書くのが一番の早道となる訳ですが……。

Java ID3Tag Library
http://javamusictag.sourceforge.net/

 こんなの使ってみてはでしょうか。


--------------
 android.mediaを見ていたら、

FaceDetector
http://code.google.com/android/reference/android/media/FaceDetector.html

 こんなものが。
 入力した画像から人の顔を認識して、Faceオブジェクトとして返却してくれる
ようです。

 誰か使ってみた人いますか?

有山圭二
http://www.c-lis.co.jp

Mark Miura

unread,
Nov 4, 2008, 5:41:44 AM11/4/08
to android-g...@googlegroups.com
ビジネスWGの三浦です。

>

>FaceDetector
>http://code.google.com/android/reference/android/media/FaceDetector.html

> こんなものが。
> 入力した画像から人の顔を認識して、Faceオブジェクトとして返却してくれる
>ようです。

> 誰か使ってみた人いますか?

この機能、標準のアプリ(pictures)に組み込まれていますよ。
エミュレータで仮想SDカードをマウントすれば使えます。
Cropという機能のようです。

写真から顔を切り出すのに、私の環境では2秒ほどかかります。

最近のデジカメはリアルタイムで処理し、さらに笑ったらシャッターを切る機能
があることを考えると、ちょっと遅いです。
ちなみに私のアプリではコンタクトのアバター画像を切り出すのに利用しています。


小川さん

 僕もandroid.mediaを見てみましたが、Androidの標準にはID3タグの内容を読
み込むようなAPIはなさそうです。

 無いとすれば、ファイルをバイナリとして読み込んで楽曲情報を取得するよう
なプログラムを書くのが一番の早道となる訳ですが……。

 こんなの使ってみてはでしょうか。


--------------
 android.mediaを見ていたら、

FaceDetector
http://code.google.com/android/reference/android/media/FaceDetector.html

 こんなものが。
 入力した画像から人の顔を認識して、Faceオブジェクトとして返却してくれる
ようです。

 誰か使ってみた人いますか?

有山圭二
http://www.c-lis.co.jp

小山

unread,
Nov 4, 2008, 10:58:33 AM11/4/08
to 日本Androidの会
こんにちは。小山ともうします。

MP3タグですがContentProviderから読むことが可能です。
こんな感じです。
http://d.hatena.ne.jp/minghai/20080814/p1

Uri mUri =
android.provider.MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
String[] mProjection = new String[] {
_ID,
TITLE,
DATA,
ARTIST,
ALBUM,
ALBUM_KEY,
ARTIST_KEY,
DURATION,
TITLE_KEY,
TRACK,
YEAR
};

mCur = managedQuery(
mUri,
mProjection, // Which columns to return.
null, // WHERE clause--we won't specify.
null); // Order-by clause.

mCur.moveTo(msg.arg1);

final int title = mCur.getColumnIndex(TITLE);
final int artist = mCur.getColumnIndex(ARTIST);
final int album = mCur.getColumnIndex(ALBUM);
final int duration = mCur.getColumnIndex(DURATION);
final int track = mCur.getColumnIndex(TRACK);
final int year = mCur.getColumnIndex(YEAR);

mCurrentDuration = mCur.getInt(duration);

// Get the field values
final StringBuilder marquee = new
StringBuilder(mCur.getString(artist));
marquee
.append(" - ")
.append(mCur.getString(title))
.append(" - ")
.append(mCur.getString(album))
.append(" - ")
.append("Track " + mCur.getInt(track))
.append(" - ")
.append("Year " + mCur.getString(year))

.append(" ");

ただ残念ながらこのプログラムはm5以前のものでしてカーソルまわりのメソッド名にかなりの変更があります。
1.0にて実行するには大幅な修正が必要です。
あまり約に立たない情報ですみません。

手順としては、
1.SDカードイメージを作成する
2.emulator -sdcard イメージ名で実行
3.adb push mp3ファイル名 でmp3ファイルをSDカードに入れる
4.DevToolsのmediascannerを実行してDBを更新する
5.アプリケーションの実行

という感じです。
プログラムの修正は大変だと思いますが頑張ってみてください。

Mitsuo Mizuno

unread,
Nov 4, 2008, 6:48:47 PM11/4/08
to android-g...@googlegroups.com
みずの@組み込みWGです。おはようございます。

ちなみに、Open Source版Androidに入っているMusic Playerの
ソースコードは
mydroid/packages/apps/Music/
にあります。

# SJISで書き込まれたID3Tagが豆腐になっちゃってるので、
# SJIS -> UTF-8変換をしたいなぁと思いつつ、未着手。

2008/11/5 小山 <koy...@gmail.com>:

オーガ

unread,
Nov 6, 2008, 5:15:44 AM11/6/08
to 日本Androidの会
皆様、ありがとうございます!

少しずつ試してみたいと思います。
皆さん、いろいろ知っていてすごいです!

ふと気になっていたんですが、ティッカー表示をする、APIってm5とかではあったような気がしていましたが、
1.0ではなくなったんでしょうか??

今度は着信履歴を取得するAPIを探してみます。




On 11月5日, 午前8:48, "Mitsuo Mizuno" <mizmit1...@gmail.com> wrote:
> みずの@組み込みWGです。おはようございます。
>
> ちなみに、Open Source版Androidに入っているMusic Playerの
> ソースコードは
> mydroid/packages/apps/Music/
> にあります。
>
> # SJISで書き込まれたID3Tagが豆腐になっちゃってるので、
> # SJIS -> UTF-8変換をしたいなぁと思いつつ、未着手。
>
> 2008/11/5 小山 <koya...@gmail.com>:
> >> また、代替の方法があるようでしたら教えてください。- 引用テキストを表示しない -
>
> - 引用テキストを表示 -
Reply all
Reply to author
Forward
0 new messages