public JMFPlayer(JFrame pf, String media) {
parentFrame = pf;
mediaName = media;
我試的 --> int d = (f, argv.length == 0 ? "file:///D:/MOVIE/11/11.mpg" : argv[0]);
不行
// cp = getContentPane();
cp = this;
cp.setLayout(new BorderLayout());
try {
theURL = new URL(getClass().getResource("."), mediaName);
thePlayer = Manager.createPlayer(theURL);
thePlayer.addControllerListener(this);
} catch (MalformedURLException e) {
System.err.println("JMF URL creation error: " + e);
} catch (Exception e) {
System.err.println("JMF Player creation error: " + e);
return;
}
System.out.println("theURL = " + theURL);
// Start the player: this will notify our ControllerListener.
thePlayer.start();// start playing
}
中間略過
public static void main(String[] argv) {
JFrame f = new JFrame("JMF Player Demo");
Container frameCP = f.getContentPane();
JMFPlayer p = new JMFPlayer
<<<(f, argv.length == 0 ? "file:///D:/MOVIE/11/11.mpg" : argv[0]); >>>
frameCP.add(BorderLayout.CENTER, p);
f.setSize(200, 200);
f.setVisible(true);
f.addWindowListener(new WindowCloser(f, true));
<<< ..........>>> 之間我想用一個d代替就好
但是我不知道該如何宣告
我試過
因為我想讓她隨時更動
int d = (f, argv.length == 0 ? "file:///D:/MOVIE/11/11.mpg" : argv[0]);
好像不行..
請問我要用什麼宣告
2006-11-26 17:57:11 · 2 個解答 · 發問者 Lin 1 in 電腦與網際網路 ➔ 程式設計
to Java 無影手
symbol : variable argv
String d = (argv.length==0 ? "file:///D:/MOVIE/11/11.mpg" : argv[0]);
^
在兩個argv 都有錯誤出現
這是什麼原因呢?
2006-11-27 13:26:18 · update #1
我不確定你要的是不是醬子所以我先大概猜你所要的答案我猜如果你有輸入參數時就要用參數的影片檔否則就要用 file:///D:/MOVIE/11/11.mpg那首先你要先正確使用 A ? B : C 的語法這個語法的意思是說如果 A 成立就執行 B 的內容否則就執行 C 的內容在你的案例中你希望用 d 來代表這個檔案路徑這麼一來你就必須用字串囉所以你可以這麼寫String d = (argv.length==0 ? "file:///D:/MOVIE/11/11.mpg" : argv[0]);這麼一來意思就是說如果參數陣列大小是 0 的話也就是沒有參數的情況採用 "file:///D:/MOVIE/11/11.mpg" 影片檔否則就採用 argv[0] 參數的影片檔我猜你要的應該是如此吧所以 d 的型態是 String 並且其中不會用到 f 喔
2006-11-26 20:33:02 · answer #1 · answered by 小璋丸 5 · 0⤊ 0⤋
因为 这一行应该是这样
"file:////D://MOVIE//11//11.mpg"
在java要写 '/' 一定要加 成 这样“//”
2006-11-28 00:21:31 · answer #2 · answered by chan 2 · 0⤊ 0⤋