2010-11-18 27 views
2

我使用Cocos2d所有的動畫精靈/過渡的東西,但我不知道如何處理突出顯示文本,因爲它是敘述。突出顯示文本,因爲它是敘述(音頻.mp3)

例如:「傑克和吉爾,喝了他們的水,喝得太醉了,不能去喝水。」隨着文本被敘述(每頁上播放.mp3),文本將被突出顯示。

如果有人有線索或示例代碼,我會非常感激。

謝謝
溼婆。

+0

請問任何人請幫助我,我急需。 – 2010-11-19 03:42:11

+0

到現在爲止,沒有人遇到過這種情況。請任何想法 – 2010-11-19 14:59:14

回答

1

我不確定你是否可以從音頻中「統計」單詞,我真的不會在iPhone上涉足音頻足以從這個角度給出任何明確的建議,但如果是我,我會做這個。

它可能看起來有點笨重,但它似乎會做你想做的。

我會有一個CCScheduler,它可能每0.5秒運行一次。

我也有我的音頻文件的數組,或許保存到一個plist中(所以多個音頻文件可以「陣列」可存儲到字典中。

的陣列將舉行整數,這將是時間由於音頻開始玩,objectAtIndex已經過去:0將是最低的數字,每個人會從那裏上去

你會添加一個在你的句子或音頻每個單詞

當你。開始播放音頻文件,將變量保存爲[NSDate date](記錄音頻開始播放的確切時間(足夠接近))。

在您的調度程序中,根據自音頻開始播放以來已過去的時間量(如果數組對象較小)檢查[array objectAtIndex:0],觸發一種方法,在該部分文本後面繪製「高亮」 ,然後[removeObjectAtIndex:0]。

如果objectAtIndex:0大於經過的時間,只需返回;

你會如何跟蹤單詞的位置,也許將每個單獨繪製爲單獨的CCSprite,並且突出顯示方法將根據您自己的偏好進行,但這是我可能採用的一種方法。

+0

謝謝Bongeh我會盡力。感謝您的指導。 – 2010-12-17 14:28:02

+0

我試圖執行上述程序我沒有得到它,如果你有任何示例代碼,你可以請與我分享? – 2010-12-18 05:41:39

+0

缺少寫出來給你,不,我恐怕沒有。 你在哪裏卡住? – Bongeh 2010-12-21 09:20:11

1

爲此,您需要下載.srt文件,其中包含歌詞,每行的開始時間和結束時間。