現在テレビキャプチャから得た情報をVB上で表示するプログラムを作成しています。
デバイスの取得はできるのですがチャンネルの設定方法や音声の取得と出力がどうしていいかわかりません。
どなたか分かる方がいましたらご教授お願いします。
OS Windows2000Professional
VBのVersion 6.0
キャプチャボード I・O DATA GVBCTV7
アイオーデータの商品ですが、採用しているI/Fには
DigiOnTVR
iEPG
があります。
iEPGは・・・
http://vcl.vaio.sony.co.jp/glossary/files/S0312260015715/internet-jp.html
ですので、DigiOnTVR の方になると思います。
DigiOnには、SDKが配布されていましたので、それを
入手(ライセンス?)して、制御を行うのではないでし
ょうか・・・
http://www.digion.com/index.htm
あとは、掲示板で書き込むより、I/Oデータのサポート
なりに直接、連絡して聞いた方が早いと思いますが・・・
ご検討下さい。
以上。
MSDNライブラリーのVisualBasicでのTVアプリケーションのサンプルより、DirectShowでテレビを映し、チャンネル設定が行えないかと思い試行錯誤してみたのですが、実行時に「Cannot find a Tuning Space that matches the request.」と出てしまいます。
DirectXを初めて使うためわからないことばかりで、本を探してみるのですがVBでDirextXを使う本がほとんど店に売ってない状況です。
以下がソースコードです
Dim objTSContainer As New SystemTuningSpaces
Dim objVidAnalog As MSVidAnalogTunerDevice
Dim flag
'チャンネル設定→MSVideoControlでView
Private Sub Command1_Click()
If flag = 1 Then
VidControl.Stop
End If
'TuningSpaceセット(ここでエラー発生)
Set objVidAnalog = objTSContainer("Antenna").CreateTuneRequest
objVidAnalog.CountryCode = 81
'13チャンネルを映す
objVidAnalog.Channel = 13
VidControl.View objVidAnalog
VidControl.Run
flag = 1
End Sub
Private Sub Form_Load()
flag = 0
For Each tunespace In objTSContainer
tunename = tunespace.UniqueName
List1.AddItem tunename
Next
End Sub
VidControlはMSVideoControlのオブジェクトです。
因みに・・・
キャプチャボード I・O DATA GVBCTV7
は、DirectX 対応商品なのですか?
以上。
キャプチャボードがDirectX対応製品でないといけないのですか?
グラフィックボードが対応していればいいものかと思っていたのですが・・・失礼しました。
DirectXSDKのサンプルにあるVBVideoControlを利用してみたのですが動かなかった原因も対応していないせいでしょうか・・・
エラー内容は「Can't set Country Code(Possibly a bad Tuning Space).」です。
アイオーデータの他のキャプチャカードでは、DirectX添付
とか、対応とかの記述があるものがあり、それらは、DirectX
による動作や操作が可能です。
よって、恐らくGVBCTV7 は、非対応な為、当然、DirectX経由
の命令を送りつけても、返事をしない・・・のは当然かと。
DigiOnTVR
iEPG
には、対応しているので、そのSDK経由での制御で、今回
の欲しい機能を実現しないといけないと思いますが・・・
ご検討下さい。
以上。
わかりました。アイオーデータへ問い合わせをしてみたので後は自分で考えて頑張ってみます。
岡田さん。本当にありがとうございました。