tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトル動画の時間の取得
記事No4568
投稿日: 2006/11/25(Sat) 01:20
投稿者
始めまして、プログラミング始めたばかりの初心者ですがどうぞ宜しくお願いします。
指定パスの動画や音声ファイルの時間を取得してテキストボックスへ表示させたいのですがどうすればよいでしょうか?

[ツリー表示へ]
タイトルRe: 動画の時間の取得
記事No4572
投稿日: 2006/11/26(Sun) 12:35
投稿者YAS
他にも取得の方法があるとは思いますが...
1つの方法としてDirectShowを使って時間を取得することができます。
ただ,DirectShowはCOMオブジェクトを利用することになるので,COMオブジェクトの解放が
必要になると思います。サンプルを作ってみましたが,COMオブジェクトの解放がこれで
よいのかは自信がありません。

Imports QuartzTypeLib
Imports System.Runtime.InteropServices

Public Class Form1

    Dim Text1 As New TextBox

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.Controls.Add(Text1)
        Dim MC As New FilgraphManager
        MC.RenderFile("c:\sample.wmv")
        Dim MP As IMediaPosition = MC
        Me.Text1.Text = MP.Duration & "秒"
        MP = Nothing
        Marshal.ReleaseComObject(MC)
        MC = Nothing
    End Sub

End Class

[ツリー表示へ]
タイトルRe^2: 動画の時間の取得
記事No4579
投稿日: 2006/11/27(Mon) 00:02
投稿者
> 他にも取得の方法があるとは思いますが...
> 1つの方法としてDirectShowを使って時間を取得することができます。
> ただ,DirectShowはCOMオブジェクトを利用することになるので,COMオブジェクトの解放が
> 必要になると思います。サンプルを作ってみましたが,COMオブジェクトの解放がこれで
> よいのかは自信がありません。

ActiveMovie control type libraryを追加し、動画のパスだけ変えて
そのまま使ってみた所、コンマ何秒まで表示され、理想通りの結果が得られました!
後は小数点3桁まで丸めるなりして自分なりに工夫していきたいと思います。
YASさん本当に有難うございました^^

[ツリー表示へ]