Java-使用jaudiotagger的Android

Java-使用jaudiotagger的Android,第1张

概述我尝试像这样使用jaudiotagger但崩溃主app.java:    导入java.io.File;    导入java.io.IOException;importorg.jaudiotagger.audio.AudioFile;importorg.jaudiotagger.audio.AudioFileIO;importorg.jaudiotagger.audio.AudioHeader;importorg.jaudiotagger.audi

我尝试像这样使用jaudiotagger
但崩溃

主app.java:
    导入java.io.file;
    导入java.io.IOException;

import org.jaudiotagger.audio.Audiofile;import org.jaudiotagger.audio.AudiofileIO;import org.jaudiotagger.audio.Audioheader;import org.jaudiotagger.audio.exceptions.CannotReadException;import org.jaudiotagger.audio.exceptions.CannotWriteException;import org.jaudiotagger.audio.exceptions.InvalIDAudioFrameException;import org.jaudiotagger.audio.exceptions.ReadonlyfileException;import org.jaudiotagger.tag.FIEldDataInvalIDException;import org.jaudiotagger.tag.FIEldKey;import org.jaudiotagger.tag.KeyNotFoundException;import org.jaudiotagger.tag.Tag;import org.jaudiotagger.tag.TagException;import androID.app.Activity;import androID.os.Bundle;import androID.Widget.TextVIEw;import androID.Widget.Toast;public class App extends Activity {    /** Called when the activity is first created. */    private TextVIEw txt1;    private TextVIEw txt2;    private TextVIEw txt3;    private TextVIEw txt4;    private TextVIEw txt5;    private TextVIEw txt6;    private TextVIEw txt7;    private TextVIEw txt8;    private TextVIEw txt9;    @OverrIDe    public voID onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentVIEw(R.layout.main);       // try        //{        file mp3 = new file("/sdcard/test.mp3");        Audiofile f = null;        try {            f = AudiofileIO.read(mp3);        } catch (CannotReadException e) {            // Todo auto-generated catch block            txt1.setText(e.toString());        } catch (IOException e) {            // Todo auto-generated catch block            txt1.setText(e.toString());        } catch (TagException e) {            // Todo auto-generated catch block            txt1.setText(e.toString());        } catch (ReadonlyfileException e) {            // Todo auto-generated catch block            txt1.setText(e.toString());        } catch (InvalIDAudioFrameException e) {            // Todo auto-generated catch block            txt1.setText(e.toString());        }        Tag tag = f.getTag();        Audioheader Audioheader = f.getAudioheader();        txt1.setText(tag.getFirst(FIEldKey.ARTIST));        txt2.setText(tag.getFirst(FIEldKey.ALBUM));        txt3.setText(tag.getFirst(FIEldKey.Title));        txt4.setText(tag.getFirst(FIEldKey.COMMENT));        txt5.setText(tag.getFirst(FIEldKey.YEAR));        txt6.setText(tag.getFirst(FIEldKey.TRACK));        txt7.setText(tag.getFirst(FIEldKey.disC_NO));        txt8.setText(tag.getFirst(FIEldKey.COMPOSER));        txt9.setText(tag.getFirst(FIEldKey.ARTIST_SORT));        try {            tag.setFIEld(FIEldKey.ARTIST,"Kings of Leon");        } catch (KeyNotFoundException e) {            // Todo auto-generated catch block            txt1.setText(e.toString());        } catch (FIEldDataInvalIDException e) {            // Todo auto-generated catch block            txt1.setText(e.toString());        }        try {            AudiofileIO.write(f);        } catch (CannotWriteException e) {            txt1.setText(e.toString());        }       /* }        catch(Exception x)        {            txt1.setText(x.toString());        }        */    }}

Logcat:

02-22 21:12:22.546: E/AndroIDRuntime(19738): FATAL EXCEPTION: main
02-22 21:12:22.546: E/AndroIDRuntime(19738):
java.lang.RuntimeException: Unable to start activity
ComponentInfo{com.mp3.tag.editor.alexander.fuchs/com.mp3.tag.editor.alexander.fuchs.App}:
java.lang.NullPointerException 02-22 21:12:22.546:
E/AndroIDRuntime(19738): at
androID.app.ActivityThread.performlaunchActivity(ActivityThread.java:1651)
02-22 21:12:22.546: E/AndroIDRuntime(19738): at
androID.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
02-22 21:12:22.546: E/AndroIDRuntime(19738): at
androID.app.ActivityThread.access$1500(ActivityThread.java:117) 02-22
21:12:22.546: E/AndroIDRuntime(19738): at
androID.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
02-22 21:12:22.546: E/AndroIDRuntime(19738): at
androID.os.Handler.dispatchMessage(Handler.java:99) 02-22
21:12:22.546: E/AndroIDRuntime(19738): at
androID.os.Looper.loop(Looper.java:130) 02-22 21:12:22.546:
E/AndroIDRuntime(19738): at
androID.app.ActivityThread.main(ActivityThread.java:3691) 02-22
21:12:22.546: E/AndroIDRuntime(19738): at
java.lang.reflect.Method.invokeNative(Native Method) 02-22
21:12:22.546: E/AndroIDRuntime(19738): at
java.lang.reflect.Method.invoke(Method.java:507) 02-22 21:12:22.546:
E/AndroIDRuntime(19738): at
com.androID.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:907)
02-22 21:12:22.546: E/AndroIDRuntime(19738): at
com.androID.internal.os.ZygoteInit.main(ZygoteInit.java:665) 02-22
21:12:22.546: E/AndroIDRuntime(19738): at
dalvik.system.NativeStart.main(Native Method) 02-22 21:12:22.546:
E/AndroIDRuntime(19738): Caused by: java.lang.NullPointerException
02-22 21:12:22.546: E/AndroIDRuntime(19738): at
com.mp3.tag.editor.alexander.fuchs.App.onCreate(App.java:72) 02-22
21:12:22.546: E/AndroIDRuntime(19738): at
androID.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
02-22 21:12:22.546: E/AndroIDRuntime(19738): at
androID.app.ActivityThread.performlaunchActivity(ActivityThread.java:1615)
02-22 21:12:22.546: E/AndroIDRuntime(19738): … 11 more

解决方法:

有两个阻滞剂
在AndroID上使用jaudiotagger:

1-javax.swing

2-javax.imageio

androID不支持这两个类,jaudiotagger使用它们

解决您的问题:
修复源,以便它们不再依赖于这两个JAVAX类

总结

以上是内存溢出为你收集整理的Java-使用jaudiotagger的Android全部内容,希望文章能够帮你解决Java-使用jaudiotagger的Android所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1071965.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存