跟HW 6所提到的一樣,鑒於期末太忙,所以6、7兩次的作業都直接交作業心得,並沒有附上程式執行的結果,請老師見諒。
而HW 7所要求的作業內容,其實就是HW 6的延伸,同樣是要開啟一個WAV檔,比較不同的是,這次的作業主旨不在於"開檔",而是要我們寫出一個可以修改音訊檔的程式。雖然沒有實際去的去研究及寫程式,不過我本來的構想是將兩個音訊檔結合,然後在銜接的地方要將第一個音訊檔漸漸的轉小聲,才去接到第二個音訊檔來撥放。其實就是有點類淡出的效果 ! 雖然有了構想,但是這次的作業沒有實際去執行談起來真的有點天馬行空。舉例來說,市面上大多數的音樂播放器都有把音訊檔顯示成波形再秀出來的功能,而我也上網查了一下音訊檔波形相關的資料,有了更多的了解。
就這樣所有的作業就告一個段落了,對於最兩次作業沒有時間去研究覺得有點可惜。但是先前已經接觸過開啟圖檔以及各種跟圖檔相關的功能的程式,相信關於音訊檔的部分也可以藉由網路還有那本厚到不行的書自行摸索出來。其實關於數位媒體的東西相關的還很多,目前學到的也只是一點皮毛而已。希望以後還有時間再繼續摸索囉 !
2010年1月15日 星期五
HW 6
期末考終於結束了,眼看交作業的截止日期只到明天,然後要忙回家的事,實在挖不出時間來研究剩下的作業。所以只得以交心得的方式代替。
這次的HW 6,要我們讀出一個WAV的音訊檔,並顯示出相關的資訊。包含了檔頭、取樣率、檔案大小、以及聲道等等的資訊。其實主要的要求還是貫穿了這學期所學到最頻繁的東西-開檔。用的是之前fopen、fseek、fread的指令來做延伸變化。而讀檔最重要的一點不外乎是要找出該檔案是如何分配byte的,從之前的BMP、GIF到這次的WAV都是一樣的原理,但基於這次老師並沒有提供範例程式,所以事先的查找資料的準備工作就顯的相當吃緊,也再次深刻的體會到利用wiki、google是多麼的方便 ! 除了上述所提到的,要求我們顯示音訊檔的相關資訊之外,這次的作業還要加入一些簡單的音樂播放器的功能,也就是一些最基本的,包含了播放鍵及暫停鍵等等……這讓我想到了目前常用的音樂播放器,竟然這次沒寫出程式,就來探討一下我最常用的音樂撥放器的功能吧 !
我想,目前最廣為使用的音樂播放器,不外乎就是-千千靜聽了 ! 千千靜聽我認為是一個非常完整的音樂播放器,它可以接受大多數的音樂格式,甚至可以直接讀取RAR、ZIP壓縮檔裡面的音訊檔,這點是非常方便的。除些之外,它最吸引我的一點,就是它可以支援網路同步更新歌詞,然後可以像在KTV一樣跑字幕給使用者看,這樣就不用特地上網找歌詞來看了。不過由於它找歌詞的機制是直接以歌名來判斷,所以有時候還是會有找錯歌詞的情況發生…帶有"磁性"的視窗以及視窗淡出、半透明的功能也很方便,然後因為千千靜聽已經有太多人在使用了,上網收尋一下一定可以找到下載點以及更多完整的介紹,推薦給大家,這是我覺得不輸給任何大公司(廠商)所推出的音樂撥放器 !
這次的HW 6,要我們讀出一個WAV的音訊檔,並顯示出相關的資訊。包含了檔頭、取樣率、檔案大小、以及聲道等等的資訊。其實主要的要求還是貫穿了這學期所學到最頻繁的東西-開檔。用的是之前fopen、fseek、fread的指令來做延伸變化。而讀檔最重要的一點不外乎是要找出該檔案是如何分配byte的,從之前的BMP、GIF到這次的WAV都是一樣的原理,但基於這次老師並沒有提供範例程式,所以事先的查找資料的準備工作就顯的相當吃緊,也再次深刻的體會到利用wiki、google是多麼的方便 ! 除了上述所提到的,要求我們顯示音訊檔的相關資訊之外,這次的作業還要加入一些簡單的音樂播放器的功能,也就是一些最基本的,包含了播放鍵及暫停鍵等等……這讓我想到了目前常用的音樂播放器,竟然這次沒寫出程式,就來探討一下我最常用的音樂撥放器的功能吧 !
我想,目前最廣為使用的音樂播放器,不外乎就是-千千靜聽了 ! 千千靜聽我認為是一個非常完整的音樂播放器,它可以接受大多數的音樂格式,甚至可以直接讀取RAR、ZIP壓縮檔裡面的音訊檔,這點是非常方便的。除些之外,它最吸引我的一點,就是它可以支援網路同步更新歌詞,然後可以像在KTV一樣跑字幕給使用者看,這樣就不用特地上網找歌詞來看了。不過由於它找歌詞的機制是直接以歌名來判斷,所以有時候還是會有找錯歌詞的情況發生…帶有"磁性"的視窗以及視窗淡出、半透明的功能也很方便,然後因為千千靜聽已經有太多人在使用了,上網收尋一下一定可以找到下載點以及更多完整的介紹,推薦給大家,這是我覺得不輸給任何大公司(廠商)所推出的音樂撥放器 !
2010年1月11日 星期一
HW 5
第5週的作業,是要我們寫出可以讀取GIF影像格式的調色盤。而在前幾週,老師就有要我們上網找了GIF格式的相關資料。基於期末考週還有很多事要忙,也沒什麼時間再去研究,所以就直接從範例程式著手囉 !
這次的範例程式比較難懂,但是開GIF檔的程式寫法跟之前開BMP的方法很類似。讀出GIF檔後,就是這次作業的重點-讀出GIF檔內的調色盤,然後再將它們依照顏色來排列。請教過同學才知道,用的是以前C++也學過的氣泡排序法。之前學的事把數字大的往前推,然後不斷的比對,來達成我們所要求的排序,而這次調色盤的排序也一樣,只是它拿來比較的是色彩的亮度,然後也是依照相同的原理,把亮度大的值往上推來完成排序。除了調色盤的部分之外,其實這次在開啟GIF檔的部分也遇到了一點小問題,對於fopen、fseek、fread的使用還是不太了解。雖然經歷過前面幾次的作業,應該對於它們有一定程度的了解了,可是還是沒辨法像一些比較簡單的指令一樣的很順手的使用。以下是這次調色盤及排序後的結果。
2010年1月7日 星期四
HW 8
最後一次的作業,要我們提出這學期以來對這門課的心得。這門課不外乎就是透過BCB來處理各種多媒體檔案,包括了一開始學到的圖檔,以及最後兩次作業的音訊檔。
不得不承認的是,BCB真的不是個好上手的軟體,雖然本身內建的物件很多,可是常常在操作上面仍感到苦手。一開始老師要求我們買的厚厚的一本書,說實在的,除了剛開始老師有要求我們去翻翻看之外,之後我大概沒再翻過它了。
作業遇到的問題,大多是直接求助於部落格中老師提供的範例程式,當然這其中有利也有弊。往好的方面想,範例程式可以讓不了解的同學更快上手,有個可以參考的程式總比自己在翻查像辭海一樣的課本要來的省時。但是參考範例程式久了之後,自己寫程式的能力當然也會變差,甚至更本不會進步。我覺得關於提供範例程式的這點真的還要看其他同學的意見,不過我也同意老師所說的,提供範例程式,但是作業會要求有變化。
至於老師上課的方式,我覺得可以更注重於程式的講解,畢竟這種要寫程式的課,學生最會感到無力的就是程式寫不出來的部分,也因為要寫程式要實際操作,所以這門課也沒辨法像大一上計概的時候以對談的方式來學習。
總結一下,這門課的上課方式還是比較輕鬆,不會讓學生有太大的壓力,這點是我很喜歡的。沒辨法把BCB學的很好是可惜的地方,但至少學到了不少東西,還是不錯的。
不得不承認的是,BCB真的不是個好上手的軟體,雖然本身內建的物件很多,可是常常在操作上面仍感到苦手。一開始老師要求我們買的厚厚的一本書,說實在的,除了剛開始老師有要求我們去翻翻看之外,之後我大概沒再翻過它了。
作業遇到的問題,大多是直接求助於部落格中老師提供的範例程式,當然這其中有利也有弊。往好的方面想,範例程式可以讓不了解的同學更快上手,有個可以參考的程式總比自己在翻查像辭海一樣的課本要來的省時。但是參考範例程式久了之後,自己寫程式的能力當然也會變差,甚至更本不會進步。我覺得關於提供範例程式的這點真的還要看其他同學的意見,不過我也同意老師所說的,提供範例程式,但是作業會要求有變化。
至於老師上課的方式,我覺得可以更注重於程式的講解,畢竟這種要寫程式的課,學生最會感到無力的就是程式寫不出來的部分,也因為要寫程式要實際操作,所以這門課也沒辨法像大一上計概的時候以對談的方式來學習。
總結一下,這門課的上課方式還是比較輕鬆,不會讓學生有太大的壓力,這點是我很喜歡的。沒辨法把BCB學的很好是可惜的地方,但至少學到了不少東西,還是不錯的。
2009年12月9日 星期三
HW 4
因為期中考週太忙,然後考完後又偷懶才會拖到現在才交作業。
好,切入正題。這次的HW 4其實就是上次HW 3的延伸。HW 4老師給我們的要求是使用C語言的指令 - fopen、fseek、fread來開啟BMP圖檔,原本的LoadFromFile的方式就顯的比較簡單。道先要用用PSPad找出圖檔原始碼的位置,再用fopen、fseek、fread來讀取BMP檔並掃出圖即可。相較於LoadFromFile直接將BMP檔讀出來的方式,這次是用fopen將一張圖檔從左下方開始由下往上慢慢掃出來的方式。關於PSPad,已經不是第一次接處到了,資料結構學到的東西也會需要用到PSPad ; 當然,那很難,我學的爛透了 ! 除此之外,也可以用PSPad來解開某間電腦教室對FaceBook的封鎖 ! 這次的程式也是依照範例才寫的出來,隨著程式碼愈來愈長,要學習吸收的東西也愈來愈多,在同時學習多種程式語言的情況下,只能盡力而為。還是希望有一天可以不需要仰賴老師給的範例程式。
2009年11月4日 星期三
HW 3
從開學到現在經過幾個星期的練習,讓我對BCB有點小小的改觀了。本來以為它內建的許多元件可以讓我們在寫程式的過程上更加順利,但是寫到現在還是常常會遇到問題,雖然相較於c++而言BCB已經比較簡單了。之前上課中老師所提到的三種指令:fopen、fseek、fread 要我們上網去收尋它們的使用方法,雖然花了不少時間去收尋它們的用法,找遍了google、wiki以及知識+,看了大家對於這些指令的解釋後仍是一頭霧水 ! 甚至還跟朋友跑到moodle上資料結構的討論區去問謝育平,他也有解釋給我們聽,fopen其實也是c語言的東西,至於使用的例子為→ofstream ofs("abc.txt",ios::binary); 它其實就是一個開檔的指令。然後在老師示範了這三個指令的使用方式後才對於它們有初步的了解,但是如果要實際應用在程式上的話還是有難度。截至目前為止,BCB遇到的問題跟當初學c++的情況差不多,就是寫程式的時候腦中都有一個大概的構想,但是在寫出來之後,往往需要花很多的時間去除錯,表示我對於BCB的各種指令還不夠熟悉,還需要花時間了解。
第三週的作業是要我們寫出程式,在開啟圖檔後先要顯示出BM兩字,然後是4個一組的數字,以及圖片的大小和長寬高。以下是我這次作業執行後的結果。
2009年10月21日 星期三
HW 2

這星期的作業,是要把彩色的24bits的bmp檔轉成8bits的灰階圖片。在上週上課的時候,已經練習過如何寫出顯示圖檔是幾位元的程式,一開始也是遇到了很多問題,後來是參考老師給我們的範例去修正才寫出來的。一開始還以為要轉成灰階是要寫一大堆程式碼才做的出來,結果只是用了一個(R+B+G) / 3的簡單公式就可以轉灰階圖,比想像中的要簡單一點 (但我還是花了不少時間才寫出來…) 但BCB內建了各種指令,其實學起來並不難,只是需要多練習。
除了作業之外,上週的上課內容也有提到二進制。我還被老師點到要回答問題,一下子突然還反應不過來,後來才想到在之前計概課的時候提到的"找錢"的例子。其實到目前為止上課教的東西都不算太難,很多原理只要有聽的話,花一點時間一定都寫的出來程式 ! 之後會再找時間練習看看把24bits的轉成各種位元的圖,期待下次的上課內容。
2009年10月8日 星期四
HW 01
第一次接觸到BCB,上課的感覺跟大一的計概一樣,很輕鬆、卻也學到不少東西。上課除了口頭的講述之外,就是自己動手操作的時間。大家總搶著在第一時間要完成作業,因為可以加分。還沒接觸到BCB程式之前,我以為它又是一門讓人頭痛的科目,像是C++一樣感覺很不容易學。實際操作了幾次之後,發現BCB並沒有想像中的那麼難。最方便的就是BCB本身已經設有很多可以直接引用的物件,如Button、Opendialog…只要再加上幾行簡單的描述就可以使用了。相較於C++要無中生有,還常常出現一大堆莫名奇妙的錯誤之外,BCB顯的更容易操作,當然在除錯的過程也相對的方便許多。
第一次上課的時候,除了學到Showmessage-在按下按鈕後秀出文字之外,老師也操作了會使按鍵移位的程式寫法,並沒有什麼困難的。因為之前就有看過VB的操作,總覺得BCB與VB很類似,但BCB的功能似乎又比VB來的強大。總之在第一個星期的學習上都很順利 ! 也了解到自己回家先翻書是很重要的…因為可以加分 !
第二次上課的時候,老師教了一點比較深入的東西。除了開啟圖檔之外,還有滑鼠指到哪裡,畫面上就會跑出那個點的座標,以及那個點的顏色等等…甚至還有自己可以在圖樣上畫線的功能。當然上列那些功能都是可以直接套用物件的,只需要再加一點東西就能使用了,所以也不覺得有什麼難的。自己實際操作BCB的心得,發現BCB內建的物件真的很多,也自己嘗試去亂按摸索過,但結果都是不了了之,按出了一大堆東西也不曉得是要做什麼的,只能透過這個學期慢慢的去學習。
基於某些個人因素,目前在家裡還無法順利的操作BCB ,所以沒辨法圖文並茂 ! 我會快點把BCB無法使用的問題給搞定的…
第一次上課的時候,除了學到Showmessage-在按下按鈕後秀出文字之外,老師也操作了會使按鍵移位的程式寫法,並沒有什麼困難的。因為之前就有看過VB的操作,總覺得BCB與VB很類似,但BCB的功能似乎又比VB來的強大。總之在第一個星期的學習上都很順利 ! 也了解到自己回家先翻書是很重要的…因為可以加分 !
第二次上課的時候,老師教了一點比較深入的東西。除了開啟圖檔之外,還有滑鼠指到哪裡,畫面上就會跑出那個點的座標,以及那個點的顏色等等…甚至還有自己可以在圖樣上畫線的功能。當然上列那些功能都是可以直接套用物件的,只需要再加一點東西就能使用了,所以也不覺得有什麼難的。自己實際操作BCB的心得,發現BCB內建的物件真的很多,也自己嘗試去亂按摸索過,但結果都是不了了之,按出了一大堆東西也不曉得是要做什麼的,只能透過這個學期慢慢的去學習。
基於某些個人因素,目前在家裡還無法順利的操作BCB ,所以沒辨法圖文並茂 ! 我會快點把BCB無法使用的問題給搞定的…
訂閱:
文章 (Atom)