簡體   English   中英

Linux上的Java Applet無法獲得權限

[英]Java Applet on Linux unable to gain Permissions

我正在上在線課程,有時會掛斷電話,因為該課程是以半窗口為中心的。 目前,我有一個Java小程序,試圖在其中播放音頻剪輯。 我正在使用Idea Intellij,並將音頻文件與類文件放在同一位置。 我還更新了這個想法用來運行applet的策略文件,但是無論我做什么,它似乎都找不到音頻文件。 我有75%的把握是策略文件(argh!)尚未弄清楚,但是我不知道那是什么。 我將粘貼代碼段,策略文件以及嘗試運行它時的一些輸出。 請幫忙-這是我第二次因為特定於Linux的差異而陷入困境。

抱歉打for ...

    public class MyApplet extends JApplet implements ActionListener
    {
        JButton play, stop;
        AudioClip audioClip;
        File myAudioFile;

        public void init()
        {
            play = new JButton("Play");
            play.addActionListener(this);

            stop = new JButton("Stop");
            stop.addActionListener(this
    [...took out unnecessary stuff...]
            System.out.println("Codebase is: " + getCodeBase());
            myAudioFile = new File(getCodeBase().toString()+"desktop-login.ogg");
            if(myAudioFile.exists()) {
                audioClip = getAudioClip(getCodeBase(), "desktop-login.ogg");
            }
            else {
                System.out.println("Failed to find file:"+ audioClip);
            }

        }
[...took out unnecessary stuff...]
    //------------------POLICY FILE CONTENTS--
    grant {
      permission java.security.AllPermission;
      permission java.net.SocketPermission "*", "accept, connect, listen, resolve";
    };

    grant codeBase "file:/home/mylogin/IdeaProjects/3RD/Lesson7/soundPlay/out/production/soundPlay/*" {
      permission java.util.PropertyPermission "user.home", "read";
    }; 

    //--------output (scrubbed a bit - it's failing at the audio clip play part because the audioClip object is null): 
    Codebase is: file:/home/mylogin/IdeaProjects/3RD/Lesson7/soundPlay/out/production/soundPlay/
    Failed to find file:null
    Exception in thread "AWT-EventQueue-1" java.lang.NullPointerException
        at MyApplet.actionPerformed(MyApplet.java:48)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) 

使用這樣的文件路徑並嘗試

file:////home/mylogin/IdeaProjects/3RD/Lesson7/soundPlay/out/production/soundPlay/

好,我覺得很傻。 原來試圖在Linux上的本機Java中加載.ogg文件是行不通的。 我以為它將使用基於Linux的編解碼器,但我錯了。 它將使用Java可以本地解碼的內容-例如.wav文件。 當我切換到.wav文件時,一切都很高興,並開始工作。 噓!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM