SoundLibrary.Wave.WaveReader.Read C# (CSharp) Method

Read() public static method

データ読み出し。
public static Read ( BinaryReader reader, FormatHeader header, double l, double r ) : int
reader System.IO.BinaryReader 読み出し元ストリーム
header FormatHeader Wave ヘッダ
l double 読み出し先配列(L ch)
r double 読み出し先配列(R ch)
return int
		public static int Read(BinaryReader reader, FormatHeader header, double[]l, double[] r)
		{
			uint length = (uint)l.Length;

			int i = 0;
			try
			{
				if(!header.IsStereo) // モノラル
				{
					if(!header.Is16Bit)
					{
						for(i=0; i<length; ++i)
						{
							l[i] = (double)(reader.ReadByte() - 128);
						}
					}
					else
					{
						for(i=0; i<length; ++i)
						{
							l[i] = (double)reader.ReadInt16();
						}
					}
				}
				else //ステレオ
				{
					if(!header.Is16Bit)
					{
						for(i=0; i<length; ++i)
						{
							l[i] = (double)(reader.ReadByte() - 128);
							r[i] = (double)(reader.ReadByte() - 128);
						}
					}
					else
					{
						for(i=0; i<length; ++i)
						{
							l[i] = (double)reader.ReadInt16();
							r[i] = (double)reader.ReadInt16();
						}
					}
				}//ステレオ
			}
			catch(EndOfStreamException){}
			catch(IOException){}

			return i;
		}

Same methods

WaveReader::Read ( BinaryReader reader, FormatHeader header, float l, float r ) : int
WaveReader::Read ( BinaryReader reader, FormatHeader header, short l, short r ) : int
WaveReader::Read ( BinaryReader reader, FormatHeader header, uint length, double &l, double &r ) : int
WaveReader::Read ( BinaryReader reader, FormatHeader header, uint length, float &l, float &r ) : int
WaveReader::Read ( BinaryReader reader, FormatHeader header, uint length, short &l, short &r ) : int
WaveReader::Read ( double l, double r ) : int
WaveReader::Read ( float l, float r ) : int
WaveReader::Read ( short l, short r ) : int
WaveReader::Read ( uint length, double &l, double &r ) : int
WaveReader::Read ( uint length, float &l, float &r ) : int
WaveReader::Read ( uint length, short &l, short &r ) : int

Usage Example

Example #1
0
        }        //Read

        /// <summary>
        /// データの読み出し。
        /// </summary>
        /// <param name="l">左チャネルのデータ格納先。</param>
        /// <param name="r">右チャネルのデータ格納先。</param>
        /// <returns>実際に読み出したサンプル数。</returns>
        public int Read(short[] l, short[] r)
        {
            uint length = (uint)l.Length;
            int  i      = WaveReader.Read(this.reader, this.header, l, r);

            this.dataLength -= (uint)i;
            return(i);
        }        //Read
All Usage Examples Of SoundLibrary.Wave.WaveReader::Read