私は以下のコードを持っています。デフォルトの音楽プレーヤーを使用して演奏するとき、ダウンローダされたMP3ファイルにアーティスト、タイトルなどのプロパティ(メタデータ)がないことを除いて、すべてうまく動作します。アンドロイドブラウザを使用してサイトから直接同じmp3ファイルをダウンロードし、デフォルトの音楽プレーヤーを使用して再生しようとすると、すべてのメタデータは元の状態(つまり、音楽プレーヤーの表示タイトル、アーティストなど)になります。タイトル、アーティストなどのメタデータ/プロパティを含むmp3をダウンロード
@Override
protected String doInBackground(String... aurl) {
int count;
i = Integer.parseInt(aurl[0]);
try {
sura = "abc.mp3";
String addr = "http://www.xyzabc.com/" + sura;
URL url = new URL(addr);
HttpURLConnection conexion = (HttpURLConnection) url.openConnection();
conexion.setRequestMethod("GET");
conexion.setDoOutput(true);
conexion.connect();
int lenghtOfFile = conexion.getContentLength();
InputStream input = new BufferedInputStream(url.openStream());
File file = new File(rootDir + "/mysite/" + sura);
OutputStream output = new FileOutputStream(file);
byte data[] = new byte[1024];
long total = 0;
while ((count = input.read(data)) != -1 & run == true) {
total += count;
publishProgress("" + (int) ((total * 100)/lenghtOfFile));
output.write(data, 0, count);
}
output.flush();
output.close();
input.close();
} catch (Exception e) {
}
return null;
}
ありがとうJohnCookie。私はmp3ファイルをimmediatlyデフォルトのmp3プレーヤーを使用して再生し、それはタイトル、アーティストなどを表示しません。私は電話でこれを試してみました。 (エミュレータではありません)。しかし、私はアンドロイドブラウザを使ってダウンロードした後に曲を演奏しようとしましたが、タイトル、アーティストなどを表示します。 – RiyasMd
システムデータベースは細部を一度に更新してはいけません。 System MediaPlayer AppはURIを介して情報を取得し、手動で更新してみますか? (私は確信していません、私はちょうど私たちがcontentProviderによってメディアの詳細を取得できることを知っていて、デバイスが再起動したり、SDカードがリロードされたときに自身を更新します) – JohnCookie