抱歉,我要跟ostube說聲抱歉…
在前一篇中,我說ostube官方的不好的地方,我在此道歉…
因為,我發現一件事,就是這個所謂的flv-duration的問題實際上無論用我自己寫的function或官方的在我上傳的檔案都會有取不到值的問題。
然後,我昨日用到凌晨2點多仍無解…早上上班時,我利用getid3來詳查,發現這一些取不到值的都有一個相同的屬性,就是雖然是flv,但這一些取不到值的會是用mpeg4編碼…他的id3的屬性結構會跟抓得到duration的flv的屬性結構會不一樣…而且getid3目前的版本(1.7.9)並不支援mpeg4的analy…所以,他沒有meta這個屬性…
如果我繼續用function中的getid3的方法,就會抓不到array['meta']['onMetaData']['duration']的值…所以,要改function…經檢查後,發現,我之前寫的註解中有一個說明『array['meta']['onMetaData'][lasttimestamp']與array['playtime_seconds']』的值會很相近,所以,拿這二個來用就行了,我最後是拿array['playtime_seconds']來用,因為mpeg4沒有arra['meta']的屬性,所以就沒有array['meta']['onMetaData']['lasttimestamp']了…
但事實上,除了array['playtime_seconds']也還有一個是文字屬性的array['playtime_string']…它是直接以文字方式表現時間…但ostube的資料庫中的os_media->media_duration是數字…如果我拿playtime_string來用還得特別轉秒數,有點麻煩,所以,還是拿array['playtime_seconds']了…
目前function中的0跟1我還沒想到其他改寫的方式,所以還是用getid3的方式來用好了…
在此我放上改寫過的dur_function.php
沒有留言:
張貼留言