掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
VB.NETでmp3またはwmaで録音するには? (ID:117315)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
ありがとうございます。 1日経ってしまいましたが。 たとえばVBMP3.DLLですとサンプルソースの通りにDeclareで以下のように宣言しています。 Public Class clsMP3 '** 基本操作系 ** Declare Function vbmp3_init Lib "VBMP3.dll" () As Boolean Declare Function vbmp3_free Lib "VBMP3.dll" () As Boolean Declare Function vbmp3_open Lib "VBMP3.dll" (ByVal pszName As String, ByVal pInfo As InputInfo) As Boolean Declare Function vbmp3_close Lib "VBMP3.dll" () As Boolean Declare Function vbmp3_play Lib "VBMP3.dll" () As Boolean Declare Function vbmp3_stop Lib "VBMP3.dll" () As Boolean Declare Function vbmp3_pause Lib "VBMP3.dll" () As Boolean Declare Function vbmp3_restart Lib "VBMP3.dll" () As Boolean Declare Function vbmp3_seek Lib "VBMP3.dll" (ByVal sec As Long) As Boolean Declare Function vbmp3_setPlayFrames Lib "VBMP3.dll" (ByVal frames As Long) As Boolean Declare Function vbmp3_setPlayFramesExVB Lib "VBMP3.dll" (ByVal frames As Double) As Boolean Declare Function vbmp3_setPlaySamples Lib "VBMP3.dll" (ByVal samples As Long) As Boolean Declare Function vbmp3_setPlaySamplesExVB Lib "VBMP3.dll" (ByVal samples As Double) As Boolean Declare Function vbmp3_reload Lib "VBMP3.dll" () As Boolean '** VBMP3 関連 ** Declare Function vbmp3_getVersion Lib "VBMP3.dll" () As Long Declare Function vbmp3_setVbmp3Option Lib "VBMP3.dll" (ByVal pVbmp3Option As VBMP3_OPTION) As Boolean Declare Sub vbmp3_getVbmp3Option Lib "VBMP3.dll" (ByVal pVbmp3Option As VBMP3_OPTION) Declare Function vbmp3_setDecodeOption Lib "VBMP3.dll" (ByVal pDecOption As DEC_OPTION) As Boolean Declare Sub vbmp3_getDecodeOption Lib "VBMP3.dll" (ByVal pDecOption As DEC_OPTION) Declare Sub vbmp3_setWaveOutDeviceId Lib "VBMP3.dll" (ByVal id As Long) '** エンコード系 ** Declare Function vbmp3_encodeOpen Lib "VBMP3.dll" (ByVal pszWaveName As String, ByVal pWaveForm As WAVE_FORM) As Boolean Declare Function vbmp3_encodeStart Lib "VBMP3.dll" (ByVal pszMp3Name As String) As Boolean Declare Function vbmp3_encodeStop Lib "VBMP3.dll" () As Boolean Declare Function vbmp3_getEncodeState Lib "VBMP3.dll" (ByVal readSize As Long, ByVal encodeSize As Long) As Long Public Structure VBMP3_OPTION Public inputBlock As Long '入力フレーム数[Default = 40] Public outputBlock As Long '出力フレーム数[Default = 30] Public inputSleep As Long '入力直後のスリープ時間(ミリ秒)[Default = 5] Public outputSleep As Long '出力直後のスリープ時間(ミリ秒)[Default = 0] End Structure Public Structure DEC_OPTION Public reduction As Long 'サンプリング 0:1/1 1:1/2 2:1/4 [Default = 0] Public convert As Long 'チャンネル 0:ステレオ 1:モノラル[Default = 0] Public freqLimit As Long '周波数[Default = 24000] End Structure Public Structure WAVE_FORM Public channels As Long 'チャンネル数 Public bitsPerSample As Long 'ビット数/1サンプル Public samplingRate As Long 'サンプリングレート Public dataSize As Long 'ファイルサイズ End Structure Public Structure InputInfo Public szTrackName As String '曲名 Public szArtistName As String 'アーティスト名 Public channels As Long 'チャンネル数 Public bitrate As Long 'ビットレート(kbit/s) Public samplingRate As Long 'サンプルレート(Hz) Public TotalSec As Long '演奏時間(s) End Structure Public Function EncodeTest() As Boolean Dim pWaveForm As New WAVE_FORM Dim outFile As String Dim mp3Enc As New clsMP3 outFile = "test.mp3" If clsMP3.vbmp3_encodeOpen(Trim("test.wav"), pWaveForm) Then Debug.WriteLine(pWaveForm) Call clsMP3.vbmp3_encodeStart(outFile) End If End Function End Class エンコードスタートの前に必ずオープンすること、とあったのですが、encodeopen関数にて("wavファイル",構造体)でフルパス、ファイル名のみでカレントディレクトリに設置、共にFalseが帰ってきます。 もう少しOpen関数についても調べてみます。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.