C ,如何讀取某首歌曲的總時長

時間 2025-06-06 05:45:23

1樓:匿名使用者

首先穗衡鋒引入這兩猜晌個檔案:

dllimport("kernel32", charset =

static extern int32 getshortpathname(string path, stringbuilder shortpath, int32 shortpathlength);

dllimport("")]

public static extern int mcisendstring(string m_strcmd, stringbuilder m_strreceive, int m_v1, int m_v2);

然後自定乙個取時間的方法如下:

public string musictime(string musicfilepath)//musicfilepath是歌曲檔案位址。

if (是否存在攔運這個檔案。

利用mci命令,返回值為檔案時間。

stringbuilder shortpath = new stringbuilder(80);

getshortpathname(musicfilepath, shortpath, ;

string musicname = ;

stringbuilder buf = new stringbuilder(80);

mcisendstring("close all", buf, ,0);

mcisendstring("open " musicname + alias media", buf, ,0);

mcisendstring("status media length", buf, ,0);

double ms =

timespan ts = new timespan(0, 0, 0, 0, (int)ms);

return , 5);/這裡你自己去決定返回的是什麼格式。

return "0";/如果檔案不存在就返回"0"

c#如何獲取**時長? 找遍整個網路,都沒看到哪個能獲取**時長。有例子都獲取的是0。

2樓:陽光的雷咩咩

方法很多,給你找到兩種,自己測試:

c# 中如何使用api函式來獲取音訊檔案的時間長度?

3樓:網友

你這個lenth變數不可能取得到值啊。

valback = mcisendstring("status"+"song length", lenth,, 0);

這一句你把lenth乙個為""的值當作引數傳給mcisendstring,這是什麼意思呢?

整個方法沒有給lenth賦值的量,你再去取得它,它依然還是"",當然取不到了。

這個api函式不太常用,我幫你找了個詳細的例子,你可以臨摹一下。好好研究一下吧。

如何用c#**算出一首歌曲的**時間,謝謝。

4樓:洪騰吟

首先引用以下兩個檔案。

dllimport("kernel32", charset =static extern int32 getshortpathname(string path, stringbuilder shortpath, int32 shortpathlength);

dllimport("")]

public static extern int mcisendstring(string m_strcmd, stringbuilder m_strreceive, int m_v1, int m_v2);

//// 獲取歌曲時間。

//// 歌曲位址。

/ 歌曲時間。

public string musictime(string add)//add是檔案位址。

return "0";//如果檔案不存在就返回"0"}

c#怎麼獲取mp4檔案的時長

5樓:

/新增名稱空間:

using shell32;

using ;

新增引用:com元件的卜源microsoft shell controls and automation

string dirname = ;

songname = ;

獲得歌曲名稱。

fileinfo finfo = new fileinfo(songpath);

shellclass sh = new shellclass();

folder dir = ;

folderitem item = ;

songtime = , 1), d:\\d:\\d").value;//獲取迅冊歌曲型昌態時間。

c#或者c++中,這樣獲取**檔案的**時長?

6樓:

其次,在搞清楚了**型別之後,你可以通過分析**的資料頭(比如flv**的flv header),通常的**型別的**時長都在header裡面記錄著。(flv裡面是metadata裡面的duration屬性)

最後,如果**頭裡面沒有記錄(有這個可能,只不過一般不會),那麼就比較麻煩了,就要通過分析整個檔案的大小、**的幀率等等具體的一些引數來獲得時長。如果真的到了這一步,那麼一句兩句話很難說清楚。

c#讀取歌詞時間

7樓:網友

首先將『]』定位出來,然後根據位置進行擷取,轉換成時間型資料,後面的時間擷取也是這樣。

8樓:匿名使用者

這個應該可以搞定吧。應該都是一行一行的。

你讀取後判斷第乙個[ 和最後乙個] 然後取中間時間就好了唄。

體面這首歌曲表達的意思是什麼,體面這首歌曲表達的意思是什麼?

臻不懂 體面 是 前任3 的插曲,不得不說的是,前任3 確實以小成本創造了大票房,因為引起了很多共鳴,其中歌曲也是很有意義。那麼 體面 這首歌曲歌詞是什麼意思呢?我們一句一句滿滿說。首先概括 體面 整首歌,屬於分手沒有多久。而這個時間段,對誰都是特別難受的乙個時間段。而選擇這個時間段。對於那些分手久...

這是哪首歌曲的歌詞

痞仔紳仕 歌曲 tonight 歌手 南拳媽媽 調色盤 lara 走了又是幾條路 我們讀了又是幾本書 它們沒任何幫助 tonight 彈頭 雨天找到一杯茶 我的笑聲找到了笑話 你的眼睛特別大 tonight 張傑 看著鏡子裡的我 心裡的話不敢說出來 會不會解脫 tonight 合唱 ye i wan...

尋找一首歌曲,尋找一首歌曲的名字

31集大型財經電視紀錄片 激盪 1978 2008 主題曲作詞 吳曉波 羅振宇 作曲 莫凡 演唱 韓磊 花開在眼前 已經開了很多很多遍 每次我總是淚流滿面 像乙個不解風情的少年 花開在眼前 我們一起走過了從前 每次我總是寫下詩篇 讓大風唱出莫名的思念 不知道愛你在哪一點 不知道愛你從哪一年 不知道愛...