コード例 #1
0
		public static CDRepairEncode VerifyNoise(CDImageLayout toc, int seed, int offset, int start, int end, int errors, bool do_verify, bool do_encode)
		{
			if (start < 0 || start > end || end > toc.AudioLength * 588)
				throw new ArgumentOutOfRangeException();
			var src = new NoiseAndErrorsGenerator(AudioPCMConfig.RedBook, end - start, seed, offset + start, errors);
			var buff = new AudioBuffer(src, 588 * 100);
			var ar = new AccurateRipVerify(toc, null);
			var encode = new CDRepairEncode(ar, stride, npar, do_verify, do_encode);
			var rnd = new Random(seed);
			ar.Position = start;
			while (src.Remaining > 0)
			{
				src.Read(buff, rnd.Next(1, buff.Size));
				ar.Write(buff);
			}
			ar.Close();
			return encode;
		}
コード例 #2
0
        public static CDRepairEncode VerifyNoise(CDImageLayout toc, int seed, int offset, int start, int end, int errors, bool do_verify, bool do_encode)
        {
            if (start < 0 || start > end || end > toc.AudioLength * 588)
            {
                throw new ArgumentOutOfRangeException();
            }
            var src    = new NoiseAndErrorsGenerator(AudioPCMConfig.RedBook, end - start, seed, offset + start, errors);
            var buff   = new AudioBuffer(src, 588 * 100);
            var ar     = new AccurateRipVerify(toc, null);
            var encode = new CDRepairEncode(ar, stride, npar, do_verify, do_encode);
            var rnd    = new Random(seed);

            ar.Position = start;
            while (src.Remaining > 0)
            {
                src.Read(buff, rnd.Next(1, buff.Size));
                ar.Write(buff);
            }
            ar.Close();
            return(encode);
        }