2014-11-05 132 views
1

我只是想在这里做一个简单的程序,以便我可以尝试将它包含在游戏中。访问音频限制

package practs; 

import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 
import java.io.FileInputStream; 
import java.io.FileNotFoundException; 
import java.io.IOException; 
import java.io.InputStream; 
import sun.audio.*; 
import javax.swing.JButton; 
import javax.swing.JFrame; 

public class Project1{ 

    public static void main(String[] args){ 
     JFrame frame = new JFrame(); 
     frame.setSize(200,200); 
     frame.setLocationRelativeTo(null); 
     JButton button = new JButton("Click me"); 
     frame.add(button); 
     button.addActionListener(new AL()); 
     frame.setVisible(true); 
    } 

    public static class AL implements ActionListener{ 
     public final void actionPerformed(ActionEvent e){ 
      music(); 
     } 
    } 

    public static void music(){ 
     AudioPlayer MGP = AudioPlayer.player; 
     AudioStream BGM; 
     AudioData MD; 

     ContinousAudioDataStream loop = null; 

     try{ 

      InputStream test = new FileInputStream("backgroundMusic.m4a"); 
      BGM = new AudioStream(test); 
      AudioPlayer.player.start(BGM); 
      MD = BGM.getData(); 
      loop = new ContinousAudioDataStream(MD); 

     }catch(FileNotFoundException e){ 
      e.printStackTrace(); 
     }catch(IOException error){ 
      error.printStackTrace(); 
     } 
     MGP.start(loop); 
    } 
} 

问题是,是,所有的错误,(除了ContinousAudioDataStream):

Access restriction: The type 'AudioPlayer' is not API (restriction on required library '/Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home/jre/lib/rt.jar') 

发生

  • 这些错误AudioPlayer
  • 语音串流
  • AudioData

  • 这是发生了什么ContinousAudioDataStream

  • ContinousAudioDataStream ContinousAudioDataStream cannot be resolved to a type

回答

4

的错误,如果使用库是不是官方的JDK API的部分主要发生。您可以在Eclipse首选项中禁用这些警告。

转到

Windows -> Preferences -> Java -> Compiler -> Errors/Warnings Project -> Properties -> Java Compiler -> Errors/Warnings 

现在后藤Forbidden reference (access rules)” option under “Deprecated and restricted API

默认选项设置为错误,这限制了使用这样的API的。您可以将其更改为警告或忽略,然后清理并构建您的代码。

或者您可以尝试从构建路径中移除库并将它们重新添加到您的项目中。

+0

非常感谢,这有助于:) – BiblyDoo 2014-11-05 20:55:11