같은 오디오 파일의 메타 데이터 :오디오 파일의 ID3 태그 (메타 데이터)를 가져오고 설정하는 방법 (변경)? 내가 ID3 태그를 변경하고 있어요
- 아티스트
- 제목
- 앨범
- 등
그리고 핵심 포인트 . 수정 된 ID3 태그는 내 앱에만 표시되어야합니다.
같은 오디오 파일의 메타 데이터 :오디오 파일의 ID3 태그 (메타 데이터)를 가져오고 설정하는 방법 (변경)? 내가 ID3 태그를 변경하고 있어요
그리고 핵심 포인트 . 수정 된 ID3 태그는 내 앱에만 표시되어야합니다.
나는 이것이 당신이 찾고있는 것이라고 생각합니다 MyID3 library 미디어 파일에 대한 태그를 설정하고 가져올 수 있습니다.
이 jar 파일 MyID3_for_android을 다운로드하여 프로젝트 빌드 경로에 추가하십시오. 여기 샘플 코드입니다. 여기 pathdata
은 오디오 파일의 파일 경로입니다.
File src = new File(pathdata);
MusicMetadataSet src_set = null;
try {
src_set = new MyID3().read(src);
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} // read metadata
if (src_set == null) // perhaps no metadata
{
Log.i("NULL", "NULL");
}
else
{
try{
IMusicMetadata metadata = src_set.getSimplified();
String artist = metadata.getArtist();
String album = metadata.getAlbum();
String song_title = metadata.getSongTitle();
Number track_number = metadata.getTrackNumber();
Log.i("artist", artist);
Log.i("album", album);
}catch (Exception e) {
e.printStackTrace();
}
File dst = new File(pathdata);
MusicMetadata meta = new MusicMetadata("name");
meta.setAlbum("Chirag");
meta.setArtist("CS");
try {
new MyID3().write(src, dst, src_set, meta);
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ID3WriteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} // write updated metadata
}
해피 코딩 :) 사실
가장 중요한 점은 편집 된 ID3 태그가 내 앱에만 표시된다는 것입니다.
파일을 편집하면 누구나 볼 수 있습니다. 자신 만의 미디어 파일 데이터베이스 (예 : Android's database)를 만들고 거기에 수정 된 데이터를 저장할 수 있습니다.
, 그리고 디스플레이를 그 저장된 데이터 –
다른 앱이 수정 된 ID3 태그를 볼 수 없도록하려는 경우이를 수행 할 수있는 유일한 방법은 정보를 로컬에 저장하는 것입니다. 데이터베이스. 파일을 수정하면 그 파일 하나만 있기 때문에 모든 응용 프로그램에서 볼 수 있습니다. 미디어 플레이어에 표시되는 ID3 태그는 다른 앱이나 Android의 중재자가 먼저 파일을 다시 검색해야하기 때문에 즉시 변경되지는 않지만 어떤 시점에서는 가능할 것입니다. – zapl
@zapl 예,하지만 Soni의 답은 더 나은 해결책을 찾았습니다. –
, FasteKerinns의 코드는 매우 좋다. 그냥 변경해야합니다.
new MyID3(). write (src, dst, src_set, meta); .
새로운 MyID3() 업데이트 (SRC, src_set, 메타)
에;
즉, dst 변수가 전혀 필요 없음을 의미합니다.
Additionaly,이 미디어 스토어 MediaStore에서 수정 노래 갱신 코드 조각이 : 당신은 내가 대신, 원래의 데이터를 변경 SQLite는 DB에 배치하지 말아야 말을 원하든 그래서
scanner=new MediaScannerConnection(getApplicationContext(),
new MediaScannerConnectionClient() {
public void onScanCompleted(String path, Uri uri) {
scanner.disconnect();
}
public void onMediaScannerConnected() {
scanner.scanFile(path, "audio/*");
}
});
scanner.connect();
+1 업데이트를 시도합니다. – MKJParekh
이 나올 거라고 생각합니다. mp3 파일이 손상되어 마난 (manan)이 말한 것처럼 재생할 수 없게 만듭니다. –
@MKJParekh 당신의 대답은 많은 코더들과 제가 그들 중 하나입니다. 그러나 나는 다른 문제를 가지고 있습니다, 당신은 대답 할 수 있습니다.여러 mp3 파일을 연결하고 싶습니다. MyID3으로 달성 할 수 있습니까? 당신은 대답이 있으면에 대한 질문을 게시 할 수 있습니다. 고맙습니다. 당신의 모든 도움을 위해 고맙습니다. – Harsh
솔직하게 말해서 @Harsh, 저는 ID3 라이브러리에서 일하지 않았습니다.이 문제를 친구의 문제를 해결하는 데 사용했지만, 당신은 즉시 완전한 세부 사항으로 질문을 시작해야한다고 제안합니다. 당신의 문제에 대해 나는 당신이 세상의 모든 구석에서 당신의 답을 얻을 것이라고 확신합니다. – MKJParekh