Связь с потоком между потокамиC#

Место общения программистов C#
Ответить
Anonymous
 Связь с потоком между потоками

Сообщение Anonymous »

Итак, у меня есть параметризованный запуск потока, который инициализирует некоторые элементы NAudio... Но мне нужен отдельный поток, сообщающий потоку NAudio о запуске. Когда я пытаюсь это сделать, он вылетает. Как реализовать безопасную межпоточную связь?

Вот поток (этот класс становится аудиообъектом в основном потоке):
class Audio
{
public IWavePlayer OutDevice;
public WaveStream OutStream;

public Thread thread;

public Audio(string file)
{
this.thread = new Thread(new ParameterizedThreadStart(InitAudio)); thread.Start(file);
}

private void InitAudio(object data) {

this.OutDevice = new WaveOut();
this.OutStream = new WaveChannel32(new Mp3FileReader(data.ToString()));
this.OutDevice.Init(OutStream);
}
}
< /code>

Мне нужно иметь возможность, чтобы мой основной поток вызовал audio.outdevice.play (); Но я не могу, потому что это перекрестная нагрузка, и это вылетает. Как мне это сделать?

Подробнее здесь: https://stackoverflow.com/questions/151 ... en-threads
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»