Как получить и сохранить временное время в файле и прочитать его?

Я разрабатываю приложение. в приложении формы Windows на С#, которое пользователь может загрузить два видео в два отдельных проигрывателя, и есть кнопки «Воспроизведение», «Пауза» и «Стоп», которые позволяют пользователю синхронно воспроизводить, приостанавливать и останавливать два видео.

Для функции паузы, когда пользователь нажимает кнопку, он останавливается в этом месте, но когда нажимается кнопка воспроизведения, он начинается с начала потока.

Для этого я хочу сохранить время первого и второго видео, в которых была выбрана кнопка паузы, и сохранить их в текстовый файл, например: первая строка-первый игрок: 01:02:03 и вторая строка-вторая player: 04:05:03, а затем, когда кнопка воспроизведения установлена, она читает текстовый файл и начинает с заданного времени каждого игрока.

У меня есть четкое представление о том, что делать, но мне нужна помощь в написании кода.

Спасибо

    private void Play_button2_Click(object sender, EventArgs e)
    {
        axWindowsMediaPlayer1.URL = Path_textBox1.Text;
        axWindowsMediaPlayer1.Ctlcontrols.play();

        axWindowsMediaPlayer2.URL = Path_textBox2.Text;
        axWindowsMediaPlayer2.Ctlcontrols.play();
    }

    private void Stop_button3_Click(object sender, EventArgs e)
    {
        axWindowsMediaPlayer1.Ctlcontrols.stop();
        axWindowsMediaPlayer2.Ctlcontrols.stop();
    }

    private void Pause_button1_Click_1(object sender, EventArgs e)
    {
        axWindowsMediaPlayer1.Ctlcontrols.pause();

        axWindowsMediaPlayer2.Ctlcontrols.pause();
    }

person Arian    schedule 26.01.2015    source источник
comment
зачем писать в файл? Просто создайте два экземпляра-члена типа DateTime (по одному для каждого игрока) и установите соответствующее время. Кстати: чем могут отличаться времена у игроков? Если вы нажмете кнопку воспроизведения, оба должны начаться, не так ли? Таким образом, они всегда должны иметь одинаковое время.   -  person HimBromBeere    schedule 26.01.2015
comment
Зачем вам нужно записывать это в файл? Неужели все это не осталось в памяти?   -  person Jonesopolis    schedule 26.01.2015
comment
Что не работает с вашим кодом в настоящее время? Методы паузы/воспроизведения звучат так, как будто они уже делают то, что вы от них хотите.   -  person Sayse    schedule 26.01.2015
comment
Я думаю, вы хотите установить URL один раз? Установка URL-адреса в обработчике может привести к сбросу потока.   -  person Lews Therin    schedule 26.01.2015
comment
@HimBromBeere также можно отдельно воспроизводить / приостанавливать игроков из WMP; Я также хочу воспроизводить их синхронно, поэтому я добавил эти дополнительные кнопки!   -  person Arian    schedule 26.01.2015
comment
@Jonesy, я понятия не имею, как мне выяснить, сохранено ли время паузы для обоих в памяти, и как я могу получить к ним доступ?   -  person Arian    schedule 26.01.2015


Ответы (1)


Я думаю, что то, что вам нужно, это что-то вроде

для паузы:

double currentposition1 = player1.Ctlcontrols.currentPosition();
double currentposition2 = player2.Ctlcontrols.currentPosition();

для начала

player1.Ctlcontrols.currentPosition = currentposition1;
player2.Ctlcontrols.currentPosition = currentposition2;

1:EDIT
попробуйте что-то вроде этого, теперь я почти даю вам код, который вы должны написать сами.

private double currentposition1;
private double currentposition2;
private void Play_button2_Click(object sender, EventArgs e)
    {
        if(currentposition1!=0)
        {
           player1.Ctlcontrols.currentPosition = currentposition1;
           player2.Ctlcontrols.currentPosition = currentposition2;
        }
        axWindowsMediaPlayer1.URL = Path_textBox1.Text;
        axWindowsMediaPlayer1.Ctlcontrols.play();

        axWindowsMediaPlayer2.URL = Path_textBox2.Text;
        axWindowsMediaPlayer2.Ctlcontrols.play();
    }

    private void Stop_button3_Click(object sender, EventArgs e)
    {
        axWindowsMediaPlayer1.Ctlcontrols.stop();
        axWindowsMediaPlayer2.Ctlcontrols.stop();
    }

    private void Pause_button1_Click_1(object sender, EventArgs e)
    {
        currentposition1 = player1.Ctlcontrols.currentPosition();
        currentposition2 = player2.Ctlcontrols.currentPosition();
        axWindowsMediaPlayer1.Ctlcontrols.pause();
        axWindowsMediaPlayer2.Ctlcontrols.pause();
    }
person Narzul    schedule 26.01.2015