コード例 #1
0
        /// <summary>
        /// Scans audio data to find damaged samples
        /// </summary>
        /// <param name="audioData"></param>
        /// <param name="progress"></param>
        /// <param name="status"></param>
        /// <returns></returns>
        public static async Task ProcessAudioAsync(
            AudioData audioData,
            IProgress <double> progress,
            IProgress <string> status)
        {
            // clear clicks collected from previous scanning
            audioData.ClearAllClicks();

            audioData.SetCurrentChannelType(ChannelType.Left);
            await Task.Run(() => ProcessChannelAsync(
                               audioData,
                               progress,
                               status)
                           );

            if (audioData.IsStereo)
            {
                audioData.SetCurrentChannelType(ChannelType.Right);
                await Task.Run(() => ProcessChannelAsync(
                                   audioData,
                                   progress,
                                   status)
                               );
            }
        }