Mels Alex Barno Ответов: 0

Как изменить битрейт с помощью функций nreco с помощью текстового поля?


Я пытаюсь написать конвертер на C # с помощью Nreco.VideoConverter. У меня никогда не было никакого опыта с ними раньше. Я начал исследовать эту область, потому что меня попросили на работе. Моя проблема заключается в том, что я могу изменить значение битрейта в video converter. Если у вас есть combobox или определенное значение. Но если есть какое-то значение для ввода из текстового поля, я не могу соответствующим образом адаптировать код. Ниже приведен код, который я использую. Пожалуйста помочь.

Код есть;
если (comboBox2.Текст == "_1000kbit")
{
если (элемент combobox1.Текст == "в формате mp4" || элемент combobox1.Текст == "в формате mp4 с разрешением 1280 x 720 16 : 9" || элемент combobox1.Текст == "в формате mp4 640 х 350 16 : 9" || элемент combobox1.Текст == "в формате mp4 720 х 540")
{
var ffmpeg = новый NReco.VideoConverter.FFMpegConverter();
через FFmpeg.ConvertMedia(VideoPath, null, MusicPath, null, new ConvertSettings()
{
CustomOutputArgs = "-b:v 1000k -bufsize 1000k"
});
}

}


но я хочу сделать это;

если (comboBox2.Текст == "_1000kbit")
{
если (элемент combobox1.Текст == "в формате mp4" || элемент combobox1.Текст == "в формате mp4 с разрешением 1280 x 720 16 : 9" || элемент combobox1.Текст == "в формате mp4 640 х 350 16 : 9" || элемент combobox1.Текст == "в формате mp4 720 х 540")
{
var ffmpeg = новый NReco.VideoConverter.FFMpegConverter();
через FFmpeg.ConvertMedia(VideoPath, null, MusicPath, null, new ConvertSettings()
{
CustomOutputArgs = "- "б": в"+текстовое поле textbox1.Текст+"к-bufsize"+текстовое поле textbox1.Текст+"к"
});
}

}

Так возможно ли это? как я могу это сделать, если это возможно?
Потому что, когда я набираю его, он говорит, что ffmpeg не может найти аргумент.
Кстати, я установил значение textbox в int.
Пожалуйста, помогите мне в этом.
Спасибо.

Что я уже пробовал:

я хочу сделать это; но возможно ли это или правда, я понятия не имею

если (comboBox2.Текст == "_1000kbit")
{
если (элемент combobox1.Текст == "в формате mp4" || элемент combobox1.Текст == "в формате mp4 с разрешением 1280 x 720 16 : 9" || элемент combobox1.Текст == "в формате mp4 640 х 350 16 : 9" || элемент combobox1.Текст == "в формате mp4 720 х 540")
{
var ffmpeg = новый NReco.VideoConverter.FFMpegConverter();
через FFmpeg.ConvertMedia(VideoPath, null, MusicPath, null, new ConvertSettings()
{
CustomOutputArgs = "- "б": в"+текстовое поле textbox1.Текст+"к-bufsize"+текстовое поле textbox1.Текст+"к"
});
}

}

Richard MacCutchan

Никогда не стоит объединять элементы непосредственно из текстового поля; в SQL это положительно опасно. Вы должны сначала взять текстовые элементы из текстовых полей и проверить их. Затем вы можете использовать StringBuilder или аналогичный класс для создания строки параметров.

Кроме того, использование отладчика или добавление простого оператора отображения в код позволит вам изучить фактический текст в переменной CustomOutputArgs.

Mels Alex Barno

На самом деле, сначала я думал о чем-то подобном; в combobox будут переменные, но моя цель состояла в том, чтобы получить эти значения, потянув их через enum. Я сделал это с небольшим исследованием. Но тогда я не мог понять, как действовать дальше и изменить код, когда меня попросили настроить его на любое значение, введенное из текстового поля. Потому что я работаю с этой библиотекой впервые.

Richard MacCutchan

Вы до сих пор толком не объяснили, в чем проблема.

Mels Alex Barno

Меня попросили сделать видео конвертер. В этом конвертере будут изменены и преобразованы значения разрешения и битрейта из mp3 в mp4 или других форматов. Я делаю нужный конвертер. затем последовала еще одна просьба. Было предложено ввести значение битрейта через текстовое поле, не ограничивая пользователя. Обычно я загружаю значения битрейта в combobox под структурой перечисления. Теперь, как я могу извлечь эти значения из текстового поля и адаптировать их к коду?

Richard MacCutchan

Так, как я предложил в своем первоначальном комментарии. Возьмите текстовое поле из каждого текстового поля и проверьте его, чтобы убедиться, что битрейт является приемлемым для библиотеки. Затем создайте строку параметров с помощью StringBuilder, который позволяет добавлять каждое поле независимо.

Mels Alex Barno

можем ли мы встроить его в видео конвертер nreco?

Richard MacCutchan

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

Mels Alex Barno

Еще раз благодарю вас за эту информацию.

0 Ответов