Как изменить битрейт с помощью функций 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
Еще раз благодарю вас за эту информацию.