0

Я пытался использовать .this и создавать экземпляр класса для обращения к filename или _audioFile как к полям класса, меняя у них модификаторы доступа, не выходит...

public partial class frmMainForm : Form
{
private WaveOutEvent _outputDevice;
private AudioFileReader _audioFile;

public frmMainForm()
{
    InitializeComponent();
}

// ОБРАБОТЧИК СОБЫТИЙ ДЛЯ КНОПКИ "OPEN"
private void OnbuttonOpenClick(object sender, EventArgs e)
{                       
    OpenFileDialog dialog = new OpenFileDialog();

    if (dialog.ShowDialog() == DialogResult.OK)
    {             
        try
        {
            string fileName = dialog.FileName;                 // получаем имя файла
            _audioFile = new AudioFileReader($"{fileName}");  // Читаем аудиофайл, используя расширение в названии.
        }
        catch (COMException ex)
        {
            MessageBox.Show($"Неверный формат файла!");       // Сообщаем пользователю  обошибке, если пытается открыть неподхдящий формат.
        }
    }
}



public class WavFileUtils { // необходимо получить filename из прошлого метода класса // чтобы использовать в методе ниже

private static TimeSpan GetWavFileDuration(filename)
{
    WaveFileReader wf = new WaveFileReader(fileName);
    return wf.TotalTime;
}

1 Answers1

0

Не тестировал, но попробуйте так

        private static WaveFileReader TimeSpan GetWavFileDuration(string filename)
        {
            WaveFileReader wf = new WaveFileReader(fileName);
            return wf.TotalTime;
        }