コード例 #1
0
ファイル: ExtractTrack.cs プロジェクト: LastContrarian/flacfs
        public ExtractTrack(string file, long startSample, long endSample)
            : base(file)
        {
            startSample_ = startSample;
            endSample_ = endSample;

            string destFile = file + "." + startSample + ".flac";

            Console.Write("Extracting...");
            outStream_ = new FlacStream(destFile, FlacStream.StreamMode.CreateNew, FlacStream.StreamAccessMode.Both);
            outStream_.Encode();

            stream_.Decode();

            stream_.Close();
            outStream_.Close();

            outStream_ = new FlacStream(destFile, FlacStream.StreamMode.OpenExisting, FlacStream.StreamAccessMode.Both);

            outStream_.Encode();

            streamInfo_.Header.IsLastMetadataBlock = true;
            streamInfo_.TotalSamples = sampleCount_;
            streamInfo_.Checksum[0] = 0;
            streamInfo_.Checksum[1] = 0;
            streamInfo_.Checksum[2] = 0;
            streamInfo_.Checksum[3] = 0;
            streamInfo_.Write(outStream_);

            outStream_.Close();

            Done();
        }
コード例 #2
0
ファイル: CopyFile.cs プロジェクト: LastContrarian/flacfs
        // dump whole file
        public CopyFile(string file)
            : base(file)
        {
            Console.Write("Copying...");
            outStream_ = new FlacStream(file + ".copy.flac", FlacStream.StreamMode.CreateNew, FlacStream.StreamAccessMode.Both);
            outStream_.Encode();

            stream_.Decode();

            Done();
        }