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

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

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Windows Forms

Windows Forms(WinForms)はMicrosoft .NET フレームワークに含まれる視覚的なアプリケーションのプログラミングインターフェイス(API)です。WinFormsは管理されているコードの既存のWindowsのAPIをラップすることで元のMicrosoft Windowsのインターフェイスのエレメントにアクセスすることができます。

Q&A

解決済

1回答

3567閲覧

C#での音声認識による波形の出力

wasteir

総合スコア13

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Windows Forms

Windows Forms(WinForms)はMicrosoft .NET フレームワークに含まれる視覚的なアプリケーションのプログラミングインターフェイス(API)です。WinFormsは管理されているコードの既存のWindowsのAPIをラップすることで元のMicrosoft Windowsのインターフェイスのエレメントにアクセスすることができます。

0グッド

1クリップ

投稿2017/05/08 07:40

編集2017/05/08 09:53

###前提・実現したいこと

C#での音声認識による波形の出力

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

https://teratail.com/questions/42564

上記の内容を参考にプログラムを作成しました。
エラーは発生していませんが、ビルドを行うと例外が発生してしまいます。

おそらく参照が足りていないのだと思いますが、何が足りていないのかが分かりません。

よろしければご教授お願い致します。

エラーメッセージ

型 'System.TypeLoadException' のハンドルされていない例外が System.Windows.Forms.dll で発生しました 追加情報:アセンブリ 'NAudio, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' から型 'NAudio.Wave.WaveInCapabilities' を読み込めませんでした。

イメージ説明

イメージ説明

言語:C#

C#

1using NAudio.Wave; 2using OxyPlot; 3using OxyPlot.Axes; 4using OxyPlot.Series; 5using System; 6using System.Collections.Generic; 7using System.ComponentModel; 8using System.Data; 9using System.Drawing; 10using System.Linq; 11using System.Text; 12using System.Threading.Tasks; 13using System.Windows.Forms; 14 15namespace NAudio 16{ 17 18 public partial class Form1 : Form 19 { 20 public Form1() 21 { 22 InitializeComponent(); 23 } 24 25 private void Form1_Load(object sender, EventArgs e) 26 { 27 for (int i = 0; i < WaveIn.DeviceCount; i++) 28 { 29 var deviceInfo = WaveIn.GetCapabilities(i); 30 this.label1.Text = String.Format("Device {0}: {1}, {2} channels", 31 i, deviceInfo.ProductName, deviceInfo.Channels); 32 } 33 34 var waveIn = new WaveIn() 35 { 36 DeviceNumber = 0, // Default 37 }; 38 39 waveIn.WaveFormat = new WaveFormat(sampleRate: 8000, channels: 1); 40 waveIn.StartRecording(); 41 42 InitPlot(); 43 } 44 45 private PlotModel _plotmodel = new PlotModel(); 46 private LinearAxis _linearaxis1 = new LinearAxis 47 48 { 49 Position = AxisPosition.Bottom 50 }; 51 private LinearAxis _linearaxis2 = new LinearAxis 52 { 53 Minimum = -1.0, 54 Maximum = 1.0, 55 Position = AxisPosition.Left 56 }; 57 private LineSeries _lineSeries = new LineSeries(); 58 List<float> _recorded = new List<float>(); // 音声データ 59 60 private void InitPlot() 61 { 62 _plotmodel.Axes.Add(_linearaxis1); 63 _plotmodel.Axes.Add(_linearaxis2); 64 _plotmodel.Series.Add(_lineSeries); 65 this.plotView1.Model = _plotmodel; 66 } 67 68 private void ProcessSample(float sample) 69 { 70 _recorded.Add(sample); 71 72 if (_recorded.Count == 1024) 73 { 74 var points = _recorded.Select((v, index) => 75 new DataPoint((double)index, v) 76 ).ToList(); 77 _lineSeries.Points.Clear(); 78 _lineSeries.Points.AddRange(points); 79 80 this.plotView1.InvalidatePlot(true); 81 _recorded.Clear(); 82 } 83 } 84 } 85}

###補足情報(言語/FW/ツール等のバージョンなど)
C#(Visual Studio 2015 : Windows Form Application)
NuGetを用いてダウンロード
・NAudio ver1.8.0
・OxyPlot.Corever ver2.0.0-unstable0952
・OxyPlot.windowsForms ver2.0.0-unstable0952

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

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

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

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

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

hihijiji

2017/05/08 09:34

NAudio のバージョン違いってことは無いですか?
wasteir

2017/05/08 10:00 編集

hihijijiさん回答ありがとうございます。 申し訳ありませんがバージョン違いとはどのような意味でしょうか? NuGetを用いてNAudio ver1.8.0をダウンロードしましたが、 バージョンによって機能が変わるのでしょうか?
hihijiji

2017/05/08 10:01

変わるかどうか判りませんが、NAudio, Version=1.0.0.0 とあったので聞いてみました。
wasteir

2017/05/08 10:09

ご指摘ありがとうございます。色々と試してみます。
guest

回答1

0

ベストアンサー

namespace が NAudio になっていますが、もしかして NAudio.exe を作っていませんか?

投稿2017/05/08 10:02

Zuishin

総合スコア28660

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

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

wasteir

2017/05/08 10:08

Zuishinさん回答ありがとうございます。 ご指摘の通りProjects内にNAudio.exeが存在します。 これがあると競合してしまい正常に動作しないのでしょうか?
Zuishin

2017/05/08 10:12

競合させないこともできますが、エラーメッセージを見ると PublicKeyToken = null になっていますので、そこから読み込もうとしているように見えます。
wasteir

2017/05/08 10:16

名前を変更したら上手くいきました! ご回答ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問