Skip() public static method

データ読み飛ばし。
public static Skip ( BinaryReader reader, FormatHeader header, int length ) : bool
reader System.IO.BinaryReader 読み出し元ストリーム
header FormatHeader Wave ヘッダ
length int 読み出したい長さ
return bool
示例#1
0
        }        //Read

        /// <summary>
        /// データを読み飛ばす。
        /// </summary>
        /// <param name="length">読み飛ばす長さ</param>
        /// <returns>ファイルの末尾まで到達したら false を返す</returns>
        public bool Skip(int length)
        {
            if (this.reader == null)
            {
                return(false);
            }

            if (!WaveReader.Skip(this.reader, this.header, length))
            {
                this.dataLength = 0;
                return(false);
            }

            this.dataLength -= (uint)length;
            return(true);
        }        //Skip
示例#2
0
		}//Read

		/// <summary>
		/// ファイルから Wave データを読み出し。
		/// (後ろ0詰め)
		/// </summary>
		/// <param name="filename">ファイル名</param>
		/// <param name="length">読み込む長さ</param>
		/// <param name="skip">ファイルの先頭を読み飛ばす長さ</param>
		/// <param name="dstLength">コピー後の配列の長さ</param>
		/// <returns>読み出したデータ</returns>
		static WaveData Read(string filename, int skip, int length, int dstLength)
		{
			WaveReader reader = null;
			FormatHeader header;
			double[] l;
			double[] r;

			using(reader = new WaveReader(filename))
			{
				header = reader.Header;
				reader.Skip(skip);
				reader.Read((uint)length, out l, out r);
			}

			if(header.IsStereo)
				return new WaveTime(header, CopyArray(l, 0, length, dstLength), CopyArray(r, 0, length, dstLength));
			return new WaveMonaural(header, CopyArray(l, 0, length, dstLength));
		}//Read