Re: [問題] JMF getDeviceList(null)

看板java作者 (dk)時間13年前 (2012/03/29 00:19), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串2/2 (看更多)
JMF 有些奇怪的行為 (OS 也是) 這些不見得與你的問題相關, 只是加減提一下 一個怪行為是它會記憶, 當你裝了一個裝置也被它註冊了, 它就認定那個裝置了, 改天你裝了另一個裝置, 甚至只是同一個裝置換一個 usb 插槽, 就可能會不 work 這時通常是 把 registry 裡的刪掉重新 detect, 有必要的話也要把安裝過的裝置清掉重裝, 不知道為什麼, 某些系統會把接在不同 usb 插槽的同一個裝置各裝一次, 變成裝了好幾個 另外就是對資源是獨佔的, 一個裝置沒有辦法給兩個程式用, 可以設法 clone resource, 但是麻煩 對這些問題最簡單的解是安裝一個叫 splitcam 的小東西, 叫 JMF 認它就對了, 裝置愛怎麼換都行, 也可以很方便的共享 另外針對你的問題, 建議查查 JMF + 你的 OS, JMF 也是向 OS 拿資料而已, 會拿不到多半是環境的問題, 例如像這個 https://forums.oracle.com/forums/thread.jspa?threadID=2132405 ※ 引述《tossakite (昱)》之銘言: : 現在正要著手用Netbeans寫視訊聊天 : 於是安裝了JMF 2.1.1e : 然後在Library裡的Classpath加入了JMF底下的lib : 結果跑以下的程式碼的時候 : Vector devices = CaptureDeviceManager.getDeviceList(null); : System.out.println(devices.size()); : 不管怎樣都是印出0 : 也就是它找不到任何電腦上的音頻與視頻裝置 : 但我執行JMFRegistry 點了Detect Capture Devices後 : 明明就有顯示出下面三個裝置 : DerectSoundCapture : JavaSound audio capture : vfw:Microsoft WDM Image Capture (Win32):0 : Google了一下發現很多人也有這個問題 : 然後就嘗試了多種版本的解決方法 : 包括 : 1. 把jmf.property檔複製到我目前寫的project裡的nbproject內 : 2. NetBeans的Tools內的Java Platform、Library裡的Sources、Classpath : 都加入JMF/lib內的所有jar檔 : 3. 把jre跟jdk裡面的lib/ext裡的jmf.jar、sound.jar刪除 : (結果程式跑不動 說無法import javax.media.*;等等 : 於是我就把JMF裡的jmf.jar、sound.jar複製過去取代它們 : 然後就可以import了 但devices.size()還是等於0) : 全都徒勞無功!!! : 請問有人知道到底是為什麼嗎QQ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.224.45.248 ※ 編輯: lovdkkkk 來自: 61.224.45.248 (03/29 00:28)

03/29 12:21, , 1F
它8~9年沒更新了.....是個悲劇
03/29 12:21, 1F

03/29 12:51, , 2F
謝謝你的說明~ ...後來自己默默把問題解決了= ="
03/29 12:51, 2F
文章代碼(AID): #1FSpeVkC (java)
文章代碼(AID): #1FSpeVkC (java)