質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
.NET Framework 3.5

.NET Framework-3.5は、NET Framework 2.0にアセンブリを追加(3.0も含む)したものをベースにしています。

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

Q&A

0回答

4129閲覧

VB.netでNAudioを利用してmp3からaacに音声変換

KeisukeOkada

総合スコア41

.NET Framework 3.5

.NET Framework-3.5は、NET Framework 2.0にアセンブリを追加(3.0も含む)したものをベースにしています。

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

0グッド

1クリップ

投稿2017/09/06 08:10

編集2022/01/12 10:55

###前提・実現したいこと
NAudioを利用して、mp3ファイルをaacに変換したい。

###発生している問題・エラーメッセージ

encoder.Encode(outputFilenameTextBox.Text, reader)にて以下のエラーが発生。

System.ArgumentException{"値が有効な範囲にありません。"} 値が有効な範囲にありません。 場所 NAudio.MediaFoundation.MediaFoundationInterop.MFCreateSinkWriterFromURL(String pwszOutputURL, IMFByteStream pByteStream, IMFAttributes pAttributes, IMFSinkWriter& ppSinkWriter) 場所 NAudio.Wave.MediaFoundationEncoder.CreateSinkWriter(String outputFile) 場所 NAudio.Wave.MediaFoundationEncoder.Encode(String outputFile, IWaveProvider inputProvider) 場所 naudiotest.Form1.Button3_Click(Object sender, EventArgs e) 場所 E:\work\MSテスト\naudio\naudiotest\naudiotest\Form1.vb:行 25 場所 System.Windows.Forms.Control.OnClick(EventArgs e) 場所 System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent) 場所 System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) 場所 System.Windows.Forms.Control.WndProc(Message& m) 場所 System.Windows.Forms.ButtonBase.WndProc(Message& m) 場所 System.Windows.Forms.Button.WndProc(Message& m) 場所 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) 場所 System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) 場所 System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg) 場所 System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData) 場所 System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context) 場所 System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context) 場所 Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun() 場所 Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel() 場所 Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine) 場所 naudiotest.My.MyApplication.Main(String[] Args) 場所 17d14f5c-a337-4978-8281-53493378c1071.vb:行 81 場所 System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args) 場所 Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly() 場所 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) 場所 System.Threading.ThreadHelper.ThreadStart()

###該当のソースコード

vb

1 Dim reader As New MediaFoundationReader(inputFilenameTextBox.Text) 2 3 4 Dim mediaType = MediaFoundationEncoder.SelectMediaType( 5 NAudio.MediaFoundation.AudioSubtypes.MFAudioFormat_AAC, 6 reader.WaveFormat, 7 reader.WaveFormat.BitsPerSample) 8 Using encoder As New MediaFoundationEncoder(mediaType) 9 encoder.Encode(outputFilenameTextBox.Text, reader) 10 End Using

###試したこと
入力ファイルは、Windows7のおまけのKalimba.mp3を利用
wavファイルの作成は確認済み。
wavからmp3への変換はOSにコーディックをインストールしていないためか、SelectMediaTypeでNothingが返ってきました。
入力をwavにしても同様のエラーが発生します。

###補足情報(言語/FW/ツール等のバージョンなど)
OS:Windows7 64bit
.net framework 3.5
Visual Studio 2012
NAudio 1.8.0.0(https://naudio.codeplex.com/よりダウンロードし手動で参照設定)

参考URL
https://so-zou.jp/software/tech/programming/c-sharp/media/audio/naudio/

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問