Anonymous
Anonymous asked in 電腦與網際網路程式設計 · 1 decade ago

如何用flash MX2004製作流行歌即時字幕?(20點)

現在網路上可以看到很多利用flash製作的流行歌動畫,

在此有個問題想詢問大家,

動畫中會隨著歌曲進度跑的字幕該如何製作呢?

(像去唱KTV時,下面都會有兩排字幕,會跟著音樂走)

小弟想詢問如何讓flash可以控制到這麼精準,

請各位Flash達人,教一下小弟這個技巧吧!

拜託各位啦~小弟只會土法煉鋼的技巧...

以前也沒有製作過類似的東西,

最好有*.fla的範例,可以參考,

有點急,所以給20點唷!謝謝~

2 Answers

Rating
  • 1 decade ago
    Favorite Answer

    真正準的其實也不難~~不過 as的底子要夠~~要會 sound 的監控時間~~在對照時間去查看看下一句歌詞的時間是不是到了~~到了就換行歌詞出來~~煩的是弄出歌詞的準確的時間通常是利用 lrc 檔代替~~//*****************我來講講 as 的方法巴~~sound 的 position 屬性可以知道~~現在 sound 撥到的毫秒數~~而 音樂檔 特別是流行音樂~~很快就會有 smi 的或是 lrc 檔的歌詞檔出現在網路上流傳~~我以 lrc 的為例~~take me to your heart 的部份歌詞的截錄如下[00:17.64]hiding from the rain and snow[00:20.86]trying to forget but i won't let go[00:25.75]looking at a crowded street[00:28.19]listening to my own heart beat先將 lrc 檔讀入 flash將 [00:17.64] 轉成毫秒 17640 將歌詞的部分 hiding from the rain and snow都存起來~~像是STtimes[i] =17640;ST[i] = "hiding from the rain and snow";其他的歌詞也一樣~~全部存起來~~(這樣麻煩又重復的東西就交給 as 辦)這樣 最麻煩的步驟結束~~//*****接下來就是輕鬆的時間了~~撥放音樂時~~有好幾個方法~~1. 跟著音樂~~enterFrame 就教程式 看看毫秒數是多少~~如果到了 17640 就將 ”hiding from the rain and snow”貼在 歌詞顯示處 ~~2. 跟著歌詞走先抓取下一句歌詞的時間點~~確定兩個間的間隔~~然後等間隔時間到了後~~顯示歌詞~~順便抓和下一句的間隔時間~~以上是個人的兩個方法~~不過方法應該還有很多~~第一個方法 問題是 計算量多不過就是準確 而且 停止 快轉 等功能不用另外在寫~~第二個方法 計算量少 不過會有不準確的情況出現~~而且 停止快轉等 還要另外做~~不過 見人見智拉~~當然也可以在加一些其他的機制~~顯示複數行歌詞慢慢捲動~~閃爍  變色 ....的~~都還可以另外在做~~ 而且~~以上只要做一次~~^^往後 只要給正確的 lrc 檔和 聲音檔案~~就可以 很簡單的出字幕了~~//**********************樓下教的不就是 土法練鋼  ?一格一格的做~~也不失是一個好辦法~~而且也不須要 as 的底子~~還可以加上更多的變化阿~~簡單又有效阿~~唯一的缺點~~每一次要用都要很麻煩的一個一個做~~

    2005-12-18 00:31:35 補充:

    1. AS 是 Actionscipt 的簡稱

    lrc 是 winamp 用的歌詞檔~~

    smi 是其他一些撥放軟體用的歌詞檔的格式

    2. lrc 能匯入嗎 ?

    答案是不能~~

    但是 lrc 檔也只是一種有特殊格式的文字檔~

    只要用文法就可以讀進才使用~

    3. 請用 as 去寫出來~~

    通常是 你放sound檔在

    場景上的名稱

    sound.position

    這樣使用~

    2005-12-18 00:37:19 補充:

    4.

    那個只是個例子~~

    要看你怎樣讀進外部檔~~

    怎樣去取 歌詞~~

    轉換後在給進去~~

    要寫在那裡都可以~~

    只要你能正確的知道

    讀進來得歌詞檔的位置就好了~~

    5.同一

    6.隨便在你的一個影格中寫

    onEnterFrame = function () {

    trace(getTimer());

    };

    就可以知道你以經撥放這個swf了

    多少秒~~

    2005-12-18 00:41:11 補充:

    7.

    用組件停止撥放歌曲當然是可以~~

    不過要和歌詞配合~~

    是另外的事~~

    就 跟著歌的方式

    是查看撥放 歌 現在的時間點

    後在去換歌詞~~

    所以只要歌停下後~~

    歌詞當然也就不會在換~~

    但是跟著 歌詞 的方式~~

    是 歌詞 定時撥放~~

    而不是 看 歌的撥放時間

    所以還要另外寫~~

    2005-12-18 00:46:49 補充:

    8.

    像我這裡的寫法

    都只有現在唱的歌詞~~

    不過 你看 winamp 的

    Windows Media Player 的

    其他撥放軟體(可以帶歌詞的~~)

    通常都不止現在唱的歌詞出現~~

    而是許多的歌詞都有~~

    現在唱的會以 白框

    高亮 特殊色 ....

    的方式顯示~~

    這些 flash 都做的到~~

    而且還可以更好~更多更特別~~

    不過相對的也要更多的創意和

    as的功力~~

    2005-12-18 00:49:32 補充:

    6. 的幾點補充

    flash 中的計時~~

    可以說很多都是以 毫秒 來當單位

    之前我說的 enterframe 的那個

    getTimer()

    也是以毫秒當成是單位

    所以回報的也是 毫秒~~

    所謂的 毫秒 是

    千分之一秒

    所以 1000 毫秒 是 1 秒

    2005-12-19 07:49:37 補充:

    專人 ? 轉檔 ?

    恩~~唱片公司的人~~

    應該是沒有專門負責這個~~

    不過 網路 上有一堆人在弄

    而且也可以自己寫 lrc 檔~~

    想知道怎樣寫就去下面看看~~

    http://www.how2use.idv.tw/teachsoft/teach_lyricsho...

  • 1 decade ago

    我的做法:

      flash是比較難做的到,如果用affer effect裡有個功能可以自己追縱聲音,來調整速度!但還是有方法可以做,只是要自己多花時間去調整!

      我用我以前做的MTV來說明比較能懂!

      假設歌詞是: 這一首簡單的歌 並沒有什麼獨特....

    你在"這"這個字開始設關鍵鍵格,在"特"字聲音結束時也結束字幕!

    flash可即使播放所以抓聲音點還挺方便的!就每一句慢慢設關鍵影格抓每一個歌詞的時間長度即可!

      如果要加上像ktv跑的字幕,就在上好字幕的上一個圖層加開二個圖層

    一個遮色片一個和原字幕一樣的字幕但顏色不同;跟著歌手唱的速度走;

    就可以做到像ktv在跑的字幕效果了!!

    我的範例作品:http://blog.xuite.net/len.light/loveingmv/4209963

    2005-12-17 17:48:10 補充:

    我也想學你的方法呢:

    看不懂那些名詞可以教一下嗎?

    1.什麼是as?lrc?smi?

    2.lrc檔能匯入flash嗎?

    3.flahs在哪調soundposition屬性?

    4.ST[i] = "hiding from the rain and snow";要打在flash的哪裡?

    5.as又是什麼?

    6.enterFrame 就教程式 看看毫秒數是多少?在哪叫出程式..毫秒數又是什麼樣子的時間單位?

    2005-12-17 17:48:18 補充:

    7.停止 快轉 等功能不用另外在寫~~是指什麼啊??flash 裡不就用內建組件功能不然就是Actionscipt寫的!不用寫是什麼原因呢?

    8.顯示複數行歌詞慢慢捲動~~

    閃爍 變色 ....的~~都還可以另外在做~~ 是用什麼方式做呢??

    我真的太笨了,太多看不懂?

    2005-12-18 02:24:24 補充:

    lrc的歌詞是歌手發片,會有人專們負責這個嗎?不然,那來的歌詞,還是轉格時自動會產生lrc檔啊!

    你講解的很仔細,但我還是聽不太懂怎麼用,只能說flash不是用來做ktv字幕的軟體!

    2005-12-19 13:19:08 補充:

    嗯~我去看過了,是很讚啊~但 lrc 檔怎麼在flash用進去~在flash裡要寫怎麼樣的語法啊~

    Source(s): 自己的剪接經驗
Still have questions? Get your answers by asking now.