c#は破棄された例外に反対しました-どうすればそれらを修正できますか?

user2874612

私は初心者のC#です。プログラムを.wavファイルから.rawファイルに変換したいのですが。いくつかのソースを見つけたので、それを使用したいと思います。しかし、コードで何かが起こりました。エラーはObjectDisposedExceptionに関連しています。

コードやアイデアを教えていただけませんか。コード全体が下にあります

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.IO;

    namespace WaveTestRead
    {
       class WaveReader
       { 
    FileInfo m_fInfo;
    FileStream m_fStream;
    BinaryReader m_binReader;

    // RIFF chunk
    byte[] chunkID;
    UInt32 chunkSize;
    byte[] format;

    // fmt subchunk
    byte[] fmtChunkID;
    UInt32 fmtChunkSize;
    UInt16 audioFormat;
    UInt16 numChannels;
    UInt32 sampleRate;
    UInt32 byteRate;
    UInt16 blockAssign;
    UInt16 BitsPerSample;

    // data subchunk
    byte[] dataChunkID;
    UInt32 dataChunkSize;
    byte[] data8L;              // 8-bit left channel
    byte[] data8R;              // 8-bit right channel
    Int16[] data16L;           // 16-bit left channel
    Int16[] data16R;           // 16-bit right channel
    int numSamples;

    public WaveReader()
    {

    }

    public bool Open(String filename)
    {
        string str;
        m_fInfo = new FileInfo(filename);
        m_fStream = m_fInfo.OpenRead();
        m_binReader = new BinaryReader(m_fStream);

        chunkID = new byte[4];
        format = new byte[4];

        chunkID = m_binReader.ReadBytes(4);
        chunkSize = m_binReader.ReadUInt32();
        format = m_binReader.ReadBytes(4);

        str = System.Text.ASCIIEncoding.ASCII.GetString(chunkID, 0, 4);
        if (str != "RIFF")
            return false;

        str = System.Text.ASCIIEncoding.ASCII.GetString(format, 0, 4);
        if (str != "WAVE")
            return false;

        if (ReadFmt() == false)
            return false;
        if (ReadData() == false)
            return false;

        m_fStream.Close();

        return true;
    }

    private bool ReadFmt()
    {
        fmtChunkID = new byte[4];
        fmtChunkID = m_binReader.ReadBytes(4);

        string str = System.Text.ASCIIEncoding.ASCII.GetString(fmtChunkID, 0, 4);
        if (str != "fmt ")
            return false;

        fmtChunkSize = m_binReader.ReadUInt32();
        audioFormat = m_binReader.ReadUInt16();
        numChannels = m_binReader.ReadUInt16();
        sampleRate = m_binReader.ReadUInt32();
        byteRate = m_binReader.ReadUInt32();
        blockAssign = m_binReader.ReadUInt16();
        BitsPerSample = m_binReader.ReadUInt16();

        return true;
    }
   static void Main(string[] args)
    {
        p.Open("wavetest.wav");
        bool a = p.ReadFmt();
        p.ReadData();
    }
 }
 }
Mike Van Vertloo

問題はに存在する可能性がありMainます。このOpenメソッドは最後にファイルを閉じ、ReadFmtMain呼び出しはから読み取りますm_binReader呼び出しReadFmt後にメインメソッドから呼び出さないかOpenOpen完了時にファイルを閉じないように変更します(そして閉じるを明示的にします)。

Openとにかく(とを呼び出しReadFmtReadDataすべての作業を行っているようですでもう一度行う必要はありませんMainからデータにアクセスするだけですp

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

JTextFieldに値を挿入した後、それらのランダムな値は表示されません。どうすれば修正できますか?

分類Dev

不安定なライブラリ機能の使用-どうすればそれらを修正できますか?

分類Dev

Scalaで生成されたバイトコードは、チェックされた例外をどのように破棄しますか?

分類Dev

JFrameは破棄されましたか?

分類Dev

どうすればこれを修正できますか?

分類Dev

Cloud Firestore ios APIでsetData(from :)を呼び出そうとしたときにエラーが発生しました。どうすれば修正できますか?

分類Dev

Cloud Firestore ios APIでsetData(from :)を呼び出そうとしたときにエラーが発生しました。どうすれば修正できますか?

分類Dev

Angularテストで「ViewDestroyedError:破棄されたビューを使用しよう」エラーを修正するにはどうすればよいですか?

分類Dev

例外が発生した場合、SaveChangesは破棄されますか?

分類Dev

AngularJSとTwitterAPI、どうすればそれらを接続できますか

分類Dev

QDialogはそれ自体で終了しますが、どうすれば修正できますか?

分類Dev

どうすれば自分の状態を修正できますか

分類Dev

どうすればHDDの状態を修正できますか

分類Dev

apt autoremoveが壊れた後、どうすればLibreofficeを修正できますか?

分類Dev

注文なしで移行を移行することは可能ですか?(そうでない場合、どうすればこれを修正できますか)

分類Dev

pvDataをwprintfすると、コンソールに多くの疑問符が表示されるのはなぜですか?(pvDataはRegGetValueから取得されます)そして、どうすれば修正できますか?

分類Dev

この再マップされたキーでVimが遅延するのはなぜですか?そして、どうすれば修正できますか?

分類Dev

DbContextを修正する方法は非同期シナリオのために破棄されましたか?

分類Dev

ルーターTP-LinkWR841NDは速度を急速に低下させました-それを修正するにはどうすればよいですか?

分類Dev

.NET Framework 4.6.2では、FormattedText()は廃止されましたが、どうすれば修正できますか?

分類Dev

Forge MDK runClientがクラッシュしました。おそらくLWJGLが原因です。どうすれば修正できますか?

分類Dev

どうすれば私のコードをそのpriting <generator object <genexpr> at ...>に修正できますか?

分類Dev

別の問題を修正したときにCSSが壊れました。ヘッダーを修正するにはどうすればよいですか?

分類Dev

sfc / scannowで見つかった破損したファイルを修復するにはどうすればよいですか?「WindowsResourceProtectionは破損したファイルを検出しましたが、一部を修正できませんでした。」

分類Dev

phpmyadminは抑制しました、なぜそしてどのようにそれを修正するのですか?

分類Dev

時々例外InvalidOperationExceptionが発生します:どうすれば修正できますか?

分類Dev

C#では、ネストされたforeachループ内でIEnumerableに対して反復を強制するにはどうすればよいですか?

分類Dev

Aptitudeには満たされていない依存関係があり、推奨される修正を実行するときにセグメンテーション違反が発生します。どうすれば修正できますか?

分類Dev

SOLRで「ドキュメント」と「コア」はどういう意味ですか?そして、どうすればそれらを使用できますか?

Related 関連記事

  1. 1

    JTextFieldに値を挿入した後、それらのランダムな値は表示されません。どうすれば修正できますか?

  2. 2

    不安定なライブラリ機能の使用-どうすればそれらを修正できますか?

  3. 3

    Scalaで生成されたバイトコードは、チェックされた例外をどのように破棄しますか?

  4. 4

    JFrameは破棄されましたか?

  5. 5

    どうすればこれを修正できますか?

  6. 6

    Cloud Firestore ios APIでsetData(from :)を呼び出そうとしたときにエラーが発生しました。どうすれば修正できますか?

  7. 7

    Cloud Firestore ios APIでsetData(from :)を呼び出そうとしたときにエラーが発生しました。どうすれば修正できますか?

  8. 8

    Angularテストで「ViewDestroyedError:破棄されたビューを使用しよう」エラーを修正するにはどうすればよいですか?

  9. 9

    例外が発生した場合、SaveChangesは破棄されますか?

  10. 10

    AngularJSとTwitterAPI、どうすればそれらを接続できますか

  11. 11

    QDialogはそれ自体で終了しますが、どうすれば修正できますか?

  12. 12

    どうすれば自分の状態を修正できますか

  13. 13

    どうすればHDDの状態を修正できますか

  14. 14

    apt autoremoveが壊れた後、どうすればLibreofficeを修正できますか?

  15. 15

    注文なしで移行を移行することは可能ですか?(そうでない場合、どうすればこれを修正できますか)

  16. 16

    pvDataをwprintfすると、コンソールに多くの疑問符が表示されるのはなぜですか?(pvDataはRegGetValueから取得されます)そして、どうすれば修正できますか?

  17. 17

    この再マップされたキーでVimが遅延するのはなぜですか?そして、どうすれば修正できますか?

  18. 18

    DbContextを修正する方法は非同期シナリオのために破棄されましたか?

  19. 19

    ルーターTP-LinkWR841NDは速度を急速に低下させました-それを修正するにはどうすればよいですか?

  20. 20

    .NET Framework 4.6.2では、FormattedText()は廃止されましたが、どうすれば修正できますか?

  21. 21

    Forge MDK runClientがクラッシュしました。おそらくLWJGLが原因です。どうすれば修正できますか?

  22. 22

    どうすれば私のコードをそのpriting <generator object <genexpr> at ...>に修正できますか?

  23. 23

    別の問題を修正したときにCSSが壊れました。ヘッダーを修正するにはどうすればよいですか?

  24. 24

    sfc / scannowで見つかった破損したファイルを修復するにはどうすればよいですか?「WindowsResourceProtectionは破損したファイルを検出しましたが、一部を修正できませんでした。」

  25. 25

    phpmyadminは抑制しました、なぜそしてどのようにそれを修正するのですか?

  26. 26

    時々例外InvalidOperationExceptionが発生します:どうすれば修正できますか?

  27. 27

    C#では、ネストされたforeachループ内でIEnumerableに対して反復を強制するにはどうすればよいですか?

  28. 28

    Aptitudeには満たされていない依存関係があり、推奨される修正を実行するときにセグメンテーション違反が発生します。どうすれば修正できますか?

  29. 29

    SOLRで「ドキュメント」と「コア」はどういう意味ですか?そして、どうすればそれらを使用できますか?

ホットタグ

アーカイブ