0

mp3 ファイルのタグを編集する方法を知っている人はいますか?
Mp3agic を試しましたが、MP3Fileオブジェクトを宣言しようとするとクラッシュし、jaudiotagger ライブラリも試しましたが、クラッシュします。

助けが必要です。

アップデート:

これは、アプリがクラッシュするコード スニペットです。

     File testFile = new File(Environment.getExternalStorageDirectory(),"/Music/test.mp3");
        TagOptionSingleton.getInstance().setAndroid(true);

        AudioFile audioFile = AudioFileIO.read(testFile);

        Tag newTag = audioFile.getTag();
        newTag.setField(FieldKey.ALBUM, this.album);
        newTag.setField(FieldKey.ARTIST,this.artist);

        audioFile.commit();

回線でアプリがクラッシュする

AudioFile audioFile = AudioFileIO.read(testFile);

例外なく。

前述の行のすべてのデバッグ手順に従うと、JAudioTagger の MP3File クラスの 246 行目でアプリがクラッシュします。これは行です:

..
finally {
        if(newFile != null) {
            newFile.close();
        }

..

そこで、ここでコードを変更しようとしました (AudioFile 宣言を変更しました):

File testFile = new File(Environment.getExternalStorageDirectory(),"/Music/test.mp3");
        TagOptionSingleton.getInstance().setAndroid(true);

        AudioFile audioFile = new AudioFile();
        audioFile.setFile(testFile);

        Tag newTag = audioFile.getTag();
        newTag.setField(FieldKey.ALBUM, this.album);
        newTag.setField(FieldKey.ARTIST,this.artist);

        audioFile.commit();

そしてラインで

AudioFile audioFile = new AudioFile();

MP3File クラスの 232 行目で NullPointerException をスローします (この行はファイルのヘッダーを見つけようとします)。

audioFile: Method threw 'java.lang.NullPointerException' exception. Cannot evaluate org.jaudiotagger.audio.AudioFile.toString()

この例外により、次の行でこの例外が発生します。

java.lang.NullPointerException: Attempt to invoke interface method 'void org.jaudiotagger.tag.Tag.setField(org.jaudiotagger.tag.FieldKey, java.lang.String)' on a null object reference

行で:

newTag.setField(FieldKey.ALBUM, this.album);

アップデート:

私も行を変更しようとしました:

Tag newTag = audioFile.getTag();

に:

Tag newTag = audioFile.getTagOrCreateAndSetDefault();

ただし、次の例外がスローされます。

java.lang.RuntimeException: Unable to create default tag for this file format
4

0 に答える 0