1.sodo apt-get install amule-utils。
2.在firefox 中的位址列輸入"about:config"。
3.新增Boolean值,內容為:network.protocol-handler.external.ed2k 數值為"true"。
4.新增字串(String),內容為:network.protocol-handler.app.ed2k 數值為"/usr/bin/ed2k"。
5.開啟amule。
6.在firefox中點擊ed2k的連結。
7.提示對話框中不要使用默認,去該位址尋找/usr/bin/ed2k並且選擇。
8.若要以後都不提示則在第七步之後,選擇剛剛選擇的選項,並且勾選默認。
2008年11月20日 星期四
2008年11月6日 星期四
Linux - 如何在ubuntu 中把wma轉成mp3?
在小素的電腦裡面有許多WMA檔。而在前面有提過,我使用的MP3 Player是Listen Music Player(後面簡稱LMP)。但是不知道為什麼,小素的LMP不管為什麼就是不能聽WMA格式的音樂。所以小素就只好把WMA轉成MP3。
關於這邊的轉法其實有很多種,小素的方法是利用SoundConverter這套軟體進行轉換。可是這套軟體有個缺點,就是轉換過去之後,會讓原本藏在WMA裡面的Tag統統消失。好在SoundConverter可以讀取原本藏在WMA裡面的Tag進而轉換成MP3的檔名。
等到轉換好之後,再利用EXFalso這套軟體根據檔名解析回來在寫回MP3里面的Tag。
步驟:
1.sudo apt-get install soundconverter
2.sudo apt-get install exfalso
3.SoundConverter
→Edit
→偏好設定
→在"Filename pattern"中輸入 {Artist} - {Album} - {Track} - {Title}
→"Type of result?"中勾選"MP3"
→關閉
4.之後把要轉換的檔案利用"Add File"加入。
5.Ex Falso
→從路徑名稱設定標籤
→在輸入框中輸入: - - -
→儲存
→重新命名檔案
→在輸入框中輸入:--
大功告成,這樣就可以把所有的WMA轉換成MP3並且也可以跟著把Tag寫進MP3里面的ID3檔案。
PS.這個方法當然不是唯一,不過因為一切都利用ubuntu下面的圖形化介面完成(安裝軟體那邊不算),也不用寫到程式,或是腳本之類的Shell檔,很適合剛接觸ubuntu的人喔!
關於這邊的轉法其實有很多種,小素的方法是利用SoundConverter這套軟體進行轉換。可是這套軟體有個缺點,就是轉換過去之後,會讓原本藏在WMA裡面的Tag統統消失。好在SoundConverter可以讀取原本藏在WMA裡面的Tag進而轉換成MP3的檔名。
等到轉換好之後,再利用EXFalso這套軟體根據檔名解析回來在寫回MP3里面的Tag。
步驟:
1.sudo apt-get install soundconverter
2.sudo apt-get install exfalso
3.SoundConverter
→Edit
→偏好設定
→在"Filename pattern"中輸入 {Artist} - {Album} - {Track} - {Title}
→"Type of result?"中勾選"MP3"
→關閉
4.之後把要轉換的檔案利用"Add File"加入。
5.Ex Falso
→從路徑名稱設定標籤
→在輸入框中輸入:
→儲存
→重新命名檔案
→在輸入框中輸入:
大功告成,這樣就可以把所有的WMA轉換成MP3並且也可以跟著把Tag寫進MP3里面的ID3檔案。
PS.這個方法當然不是唯一,不過因為一切都利用ubuntu下面的圖形化介面完成(安裝軟體那邊不算),也不用寫到程式,或是腳本之類的Shell檔,很適合剛接觸ubuntu的人喔!
2008年11月5日 星期三
Linux - 音樂播放器中Id3出現亂碼
在ubuntu 中小素是用 Listen Music Player來聽MP3。而當初在XP時候則是千千靜聽這套對岸同胞所寫的MP3 Player。可是沒想到最近轉到ubuntu之後,發現以前的MP3怎麼都呈現亂碼?
後來仔細研究,發現原來MP3中的ID3 Tag編碼問題。原來Listen Music Player中只支援Unicode編碼,而原本的MP3很多都是從網路上下載,而當初製作的人利用的編碼方式千千百百種,對於Music Listen Player來說,都不支援,因此放在播放器中,當然會出現亂碼。
因此解決之道,除了換一套播放器之外,當然就是把ID3 Tag全部轉換成Listen Music Player看得懂的Unicode的編碼方式囉!
這邊提供一個軟體供大家使用。
1.安裝Mutagen
sudo apt-get install python-mutagen
2.如果你要轉換單一資料夾請到該資料夾目錄下輸入:
mid3iconv -e big5 *.mp3
3.如果你要轉換電腦裡面所有的MP3檔案,請在終端機下輸入:
find . -iname "*.mp3" -execdir mid3iconv -e big5 {} \;
這樣就搞定啦!你就可以看見你的音樂播放器成功出線索有音樂檔的名字了!
參考文章:http://www.osxcn.com/ubuntu/mp3-tag-encoding.html
後來仔細研究,發現原來MP3中的ID3 Tag編碼問題。原來Listen Music Player中只支援Unicode編碼,而原本的MP3很多都是從網路上下載,而當初製作的人利用的編碼方式千千百百種,對於Music Listen Player來說,都不支援,因此放在播放器中,當然會出現亂碼。
因此解決之道,除了換一套播放器之外,當然就是把ID3 Tag全部轉換成Listen Music Player看得懂的Unicode的編碼方式囉!
這邊提供一個軟體供大家使用。
1.安裝Mutagen
sudo apt-get install python-mutagen
2.如果你要轉換單一資料夾請到該資料夾目錄下輸入:
mid3iconv -e big5 *.mp3
3.如果你要轉換電腦裡面所有的MP3檔案,請在終端機下輸入:
find . -iname "*.mp3" -execdir mid3iconv -e big5 {} \;
這樣就搞定啦!你就可以看見你的音樂播放器成功出線索有音樂檔的名字了!
參考文章:http://www.osxcn.com/ubuntu/mp3-tag-encoding.html
Linux - 關機無法切斷電源
小素在裝了ubuntu 8.10 之後赫然發現我的ubuntu怎麼妙名奇妙關機的時候,最後沒辦法自動切斷電源?
在爬了Google之後發現原來是APM沒有設定好!
解決的方法:
1.sudo apt-get install apmd
2.sudo vim etc/modules
3.加入 apm power_off=1
就可以正常關機了!
在爬了Google之後發現原來是APM沒有設定好!
解決的方法:
1.sudo apt-get install apmd
2.sudo vim etc/modules
3.加入 apm power_off=1
就可以正常關機了!
2008年11月4日 星期二
Windows CE - Edge triger vs Level triger
最近小素開始在看Driver的一些Issue。
然後遇到了所謂中斷服務發生時,有兩種驅動方法,分別是Edge triger 和 Level triger。
這兩種的差別簡單的說,就是對於電壓忽然由Low到High的兩種不同識別方式。
Edge triger:
當裝備要發出中斷請求時.就把 IRQ的訊號由低拉往高這時候,由於電位的"變化的瞬間",Cpu就會接收到這個訊號表示有一個中斷請求。當中斷完成時 IRQ訊號會被降回低電位.若 IRQ訊號還是在高電位表示有另外一個裝備發出同一個中斷請求。這種方式可由多個裝備共用一個中斷。標準的PCI的裝備就是使用這種方式。缺點就是如果這個時候Cpu漏掉這一次中斷的瞬間,則這個中斷服務就會漏掉,因此這種中斷方式只支援no-block socket。
Level triger:
當裝備要發出中斷請求時,就把 IRQ的訊號由低拉往高,這時候電位由低到高Cpu就會一直收到中斷,當Cpu開始處理的時候,一般就會先disable掉這一個中斷,直到處理完之後再Enable起來,否則中斷就會一直衝進Cpu造成錯誤的發生但是相對的Level的中斷就比較不會漏掉,因為他是持續性的!除非Cpu有去處理這次的中斷,不然會一直收到中斷的事件。缺點就是Cpu 接收到這個訊號時表示只有一個中斷請求。若有二個以上的裝備使用同一個中斷就無法正常工作。但是這種中斷方式支援block和no-block socket。
參考文章:
1.PIC中斷控制器介紹,http://stenlyho.blogspot.com/2008/08/pic.html
2.epoll LT VS ET,http://hi.baidu.com/seraphsky/blog/item/2aec23c2b9a08230e4dd3be0.html
2008年10月29日 星期三
Linux - uBuntu 下 RealPlayer 10 播放沒有聲音!
1.安裝ALSA OSS驅動程式
$ sudo apt-get install alsa-oss
2.使用vim編輯realplay這一個檔案
$ vim /usr/lib/realplay-10.0.9/realplay
將第73行
$ sudo apt-get install alsa-oss
2.使用vim編輯realplay這一個檔案
$ vim /usr/lib/realplay-10.0.9/realplay
將第73行
$REALPLAYBIN “$@”
改成...
aoss $REALPLAYBIN “$@”
之後儲存,就可以解決realplayer啟動時只有影像沒有聲音的問題。Linux - uBuntu最新版本8.10 Intrepid Ibex
原本小素在Linux領域是Fedora的忠實愛好者。
因為本人實在很不習慣在ubuntu下面不允許root權限。
在小素的概念中,個人使用的桌面系統就是應該隨心所欲,就算中毒也沒關係。
不管什麼東西就是方便快速最重要。
總之就不想要什麼東西都輸入密碼!
所以對我來說Fedora可以用root帳號登入這件事就帶給我無比的方便!
而在ubuntu沒辦法使用root登入就算了,還不能用su切到super user的模式。
後來在爬文之後,發現解決之道,就是用passwd替root設定密碼之後,就可以使用su這個指令切換到super user這個等級的管理模式。
於是小素從8.04開始就正式加入ubuntu的行列囉!
現在8.10這個比8.04更進步的版本就要發佈,想嘗鮮的人可以用以下方法去更新成8.10喔!
1.sudo update-manager -dc
2.用系統->管理->更新管理員->檢查->安裝更新套件
之後就可以開始享受全新的ubuntu8.10囉!
對了~ubuntu 8.10 的開發代號為: Intrepid Ibex,又名為:堅毅的山羊!
很屌的一種動物喔!
因為本人實在很不習慣在ubuntu下面不允許root權限。
在小素的概念中,個人使用的桌面系統就是應該隨心所欲,就算中毒也沒關係。
不管什麼東西就是方便快速最重要。
總之就不想要什麼東西都輸入密碼!
所以對我來說Fedora可以用root帳號登入這件事就帶給我無比的方便!
而在ubuntu沒辦法使用root登入就算了,還不能用su切到super user的模式。
後來在爬文之後,發現解決之道,就是用passwd替root設定密碼之後,就可以使用su這個指令切換到super user這個等級的管理模式。
於是小素從8.04開始就正式加入ubuntu的行列囉!
現在8.10這個比8.04更進步的版本就要發佈,想嘗鮮的人可以用以下方法去更新成8.10喔!
1.sudo update-manager -dc
2.用系統->管理->更新管理員->檢查->安裝更新套件
之後就可以開始享受全新的ubuntu8.10囉!
對了~ubuntu 8.10 的開發代號為: Intrepid Ibex,又名為:堅毅的山羊!
很屌的一種動物喔!
2008年10月23日 星期四
Windows CE - Windows Mobile 6 常見三種錯誤中斷(Data Abort、Raise Exception、Prefetch abort)
在開發Windows Mobile 6.1的過程中,常常要解決很多Bug。
在根據MSDN的文件中,當錯誤產生時,大約有三種(其實不只,但是這邊就只先紀錄三種)。
在下摘錄Edwin兄的在這篇文章的解釋:
在根據MSDN的文件中,當錯誤產生時,大約有三種(其實不只,但是這邊就只先紀錄三種)。
在下摘錄Edwin兄的在這篇文章的解釋:
而Windows Mobile產生的格式如下,小素將附上MSDN裡面的定義與介紹。
‧
Exception type: Thread=%x Proc=%x ‘%s‘ AKY=%x PC=%x(%s+%x) RA=%x(%s+%x) BVA=%x FSR=%x
1.Thread = PTHREAD address
2.Proc = PPROCESS address ‘Process name’
3.AKY = Access key
MSDN中對AKY的解釋是:
Process slot bitmask corresponding to the processes the excepting thread has access to. For example, the above exception is 0x00000005, which corresponds to:
Nk.exe 0x00000001
Shell32.exe 0x00000004
簡單的說,就是32個slot都會有一個對應的Key,當意外產生時,我們可以藉由出現的數值去推斷這個錯誤(意外)產生有哪些程序去參與。
4.PC = Program counter (Module name + Offset)
5.RA = Return address (Module name + Offset)
6.FSR = Fault status register
MSDN中對FSR的解釋是:
The FSR represents several flags that will help you understand the nature of your exception. For ARM devices the following flags can be set:
#define FSR_ALIGNMENT 0x01
#define FSR_PAGE_ERROR 0x02
#define FSR_TRANSLATION 0x05
#define FSR_DOMAIN_ERROR 0x09
#define FSR_PERMISSION 0x0D
Using the example above gives us:
FSR=00000007 == FSR_PAGE_ERROR | FSR_TRANSLATION
簡單的說就是對錯誤或是意外產生的分類,從FSR中,我們可以發現哪幾種類型的錯誤再次的意外中出現。
以上就是對Windows Mobile 6錯誤的簡單介紹。
2008年10月12日 星期日
Windows CE - 編譯時出現錯誤訊息 : LNK2019: unresolved external symbol
最近小素再解一條Issue,所以需要呼叫到 GetTcpStatistics 這個函數。
於是我在開頭加入了:
#include <Iphlpapi.h>
之後編譯出現了錯誤:
Driver.obj : error LNK2019: unresolved external symbol GetTcpStatistics referenced ...
之後小素就為了這個編譯錯誤Google了一整個下午。
Google上面有許多解決辦法,包括使用exten "c"{}把標頭檔放在中間,可惜小素放進去後依然出現錯誤。
後來發現許多人都說是link的時候沒有連結到 :
Iphlpapi.lib
後來小素把這個lib檔放進source fire中告訴編譯器編譯的時候要link起來,就解決這個問題了!
於是我在開頭加入了:
#include <Iphlpapi.h>
之後編譯出現了錯誤:
Driver.obj : error LNK2019: unresolved external symbol GetTcpStatistics referenced ...
之後小素就為了這個編譯錯誤Google了一整個下午。
Google上面有許多解決辦法,包括使用exten "c"{}把標頭檔放在中間,可惜小素放進去後依然出現錯誤。
後來發現許多人都說是link的時候沒有連結到 :
Iphlpapi.lib
後來小素把這個lib檔放進source fire中告訴編譯器編譯的時候要link起來,就解決這個問題了!
2008年10月6日 星期一
Windows CE - Build Code 基本介紹
因為之前接觸的嵌入式系統(Embedded system)是用VC++6.0進行Build Code的動作。
所以一開始接觸Windows CE這個微軟的嵌入式系統中關於Build這個部份著實摸了很久。
對於Build Phase這些基本的概念就不加詳述了。
現在介紹WM6.x下面一些基本的操作。
建立Build Code的基本參數設定,可以利用PB5.0所提供的"New Build Window Wizard"這個方便的Tool建立基本的參數環境設定。當使用這個類似的精靈的模式建立出來的環境設定,會在桌面製造三個簡單的short cut:
a.Update Loader
b.Base OS
c.Build All
Update Loader這個就先不說了,因為感覺對自己的工作沒有很大的影響,所以也沒深入去探討。
一開始Get Code下來之後,可以先用Build All建立基本的Windows 跟簡單的CE Base(包含Driver)。之後要寫Driver要各別去compile 單一的driver的時候可以利用Base OS這個Short cut去建立各別的程式。要Build各別的Driver的時候,只要去Soruce Code資料夾下輸入:
build -c
這樣Compiler 就會根據資料夾下的source裡面的順序去compile soruce檔。並且已經編譯好的檔案就會放在之前Build All產生的Release folder裡面。
這時候如果你需要Make Image也不用Build All。一樣用Base OS這個Short Cut用Command Line在Release Folder下輸入:
makeimg
就可以重新建立CE的Image。
參考文章:
1.Edwin's blog-Windows CE Build Phases:http://www.wretch.cc/blog/edwin0324/11496432
2.CHECKO's Blog-CE 的Build Phase:http://checko.blogspot.com/2006/10/ce-build-phase.html
3.MSDN-Build Phases:http://msdn.microsoft.com/en-us/library/aa909653.aspx
所以一開始接觸Windows CE這個微軟的嵌入式系統中關於Build這個部份著實摸了很久。
對於Build Phase這些基本的概念就不加詳述了。
現在介紹WM6.x下面一些基本的操作。
建立Build Code的基本參數設定,可以利用PB5.0所提供的"New Build Window Wizard"這個方便的Tool建立基本的參數環境設定。當使用這個類似的精靈的模式建立出來的環境設定,會在桌面製造三個簡單的short cut:
a.Update Loader
b.Base OS
c.Build All
Update Loader這個就先不說了,因為感覺對自己的工作沒有很大的影響,所以也沒深入去探討。
一開始Get Code下來之後,可以先用Build All建立基本的Windows 跟簡單的CE Base(包含Driver)。之後要寫Driver要各別去compile 單一的driver的時候可以利用Base OS這個Short cut去建立各別的程式。要Build各別的Driver的時候,只要去Soruce Code資料夾下輸入:
build -c
這樣Compiler 就會根據資料夾下的source裡面的順序去compile soruce檔。並且已經編譯好的檔案就會放在之前Build All產生的Release folder裡面。
這時候如果你需要Make Image也不用Build All。一樣用Base OS這個Short Cut用Command Line在Release Folder下輸入:
makeimg
就可以重新建立CE的Image。
參考文章:
1.Edwin's blog-Windows CE Build Phases:http://www.wretch.cc/blog/edwin0324/11496432
2.CHECKO's Blog-CE 的Build Phase:http://checko.blogspot.com/2006/10/ce-build-phase.html
3.MSDN-Build Phases:http://msdn.microsoft.com/en-us/library/aa909653.aspx
2008年10月1日 星期三
Windows CE - 編譯時出現錯誤訊息:NMAKE : fatal error U1077: 'cscript' : return code '0x1'
今天在build all時候,出現:
Input Error: There is no script engine for file extension ".js".
NMAKE : fatal error U1077: 'cscript' : return code '0x1'
Stop.
看了老半天看不出個所以然。
後來去Google搜尋有沒有人有類似的錯誤。
發現了這一篇文章:
http://blog.csdn.net/Envelope_Emputy/archive/2008/09/02/2868168.aspx
搞了半天原來是UltraEdit搞得鬼。
難怪我看了半天看不出這個到底哪邊出問題。
解決方法,其實就是刪掉UltraEdit跟 "js"這個副檔名的關聯就可以了!
1. 安裝完UltraEdit第一次使用的時候彈出的一個界面讓我們選擇需要關聯的檔案類型,此時按它的默認選項直接點擊確定就可以了,不要將JS與其關聯。
2. 不小心已經關聯的,可以打開UltraEdit在進階→配置→檔案關聯→選擇js文件類型,然後點擊刪除,確定將關聯取消了。
以上的方法,就可以解決在Winodws CE 6.1 build all時出現這個錯誤訊息的辦法。
Input Error: There is no script engine for file extension ".js".
NMAKE : fatal error U1077: 'cscript' : return code '0x1'
Stop.
看了老半天看不出個所以然。
後來去Google搜尋有沒有人有類似的錯誤。
發現了這一篇文章:
http://blog.csdn.net/Envelope_Emputy/archive/2008/09/02/2868168.aspx
搞了半天原來是UltraEdit搞得鬼。
難怪我看了半天看不出這個到底哪邊出問題。
解決方法,其實就是刪掉UltraEdit跟 "js"這個副檔名的關聯就可以了!
1. 安裝完UltraEdit第一次使用的時候彈出的一個界面讓我們選擇需要關聯的檔案類型,此時按它的默認選項直接點擊確定就可以了,不要將JS與其關聯。
2. 不小心已經關聯的,可以打開UltraEdit在進階→配置→檔案關聯→選擇js文件類型,然後點擊刪除,確定將關聯取消了。
以上的方法,就可以解決在Winodws CE 6.1 build all時出現這個錯誤訊息的辦法。
2008年9月11日 星期四
Windows CE - 編譯AP時的錯誤:Error spawning 'cmd.exe'
當你用VS2005編譯為WM6的AP時出現以下錯誤時:
error PRJ0003:Error spawning 'cmd.exe'
可以用以下方法解決:
Tools→Options→Projects and Solutions→VC++ Directories
Platform:選擇你編譯出來的AP執行的環境,ex:"Windows Mobile 5.0 Pocket PC"
Show directories for:選擇"Executable files"
增加"C:\Windows\System32"
大功告成。
Ps.其實就是環境變數沒有設定好,VS2005找不到cmd.exe這個物件的位置。
error PRJ0003:Error spawning 'cmd.exe'
可以用以下方法解決:
Tools→Options→Projects and Solutions→VC++ Directories
Platform:選擇你編譯出來的AP執行的環境,ex:"Windows Mobile 5.0 Pocket PC"
Show directories for:選擇"Executable files"
增加"C:\Windows\System32"
大功告成。
Ps.其實就是環境變數沒有設定好,VS2005找不到cmd.exe這個物件的位置。
訂閱:
文章 (Atom)