using NAudio.Wave;
using System;
class Program
{
static void Main()
{
string audioFilePath = "путь_к_вашему_файлу.mp3"; // Замените на путь к вашему аудио файлу
// Используем WaveFileReader для чтения информации о звуковом файле
using (var audioFile = new AudioFileReader(audioFilePath))
{
// Длительность в секундах
double durationInSeconds = audioFile.TotalTime.TotalSeconds;
Console.WriteLine($"Длительность аудио файла: {durationInSeconds} секунд");
}
}
}
string file_path = project.Variables["file_path"].Value; // тут свой путь к mp3 файлу например
return TagLib.File.Create(file_path).Properties.Duration.Seconds;
Мне этот код чатгп давал, я несколько часов ему обьяснял что мне нужна переменная там, короче не получилось все равноИнтилект предлагает такой вариант
Думаю можноадаптировать под зену.C#:using NAudio.Wave; using System; class Program { static void Main() { string audioFilePath = "путь_к_вашему_файлу.mp3"; // Замените на путь к вашему аудио файлу // Используем WaveFileReader для чтения информации о звуковом файле using (var audioFile = new AudioFileReader(audioFilePath)) { // Длительность в секундах double durationInSeconds = audioFile.TotalTime.TotalSeconds; Console.WriteLine($"Длительность аудио файла: {durationInSeconds} секунд"); } } }
Спасибо проверю сейчас)Я делал с помощью TagLibSharp.dll
Надо добавить либу и выполнить код
C#:string file_path = project.Variables["file_path"].Value; // тут свой путь к mp3 файлу например return TagLib.File.Create(file_path).Properties.Duration.Seconds;
{
"streams": [
{
"index": 0,
"codec_name": "mp3",
"codec_long_name": "MP3 (MPEG audio layer 3)",
"codec_type": "audio",
"codec_tag_string": "[0][0][0][0]",
"codec_tag": "0x0000",
"sample_fmt": "fltp",
"sample_rate": "44100",
"channels": 2,
"channel_layout": "stereo",
"bits_per_sample": 0,
"initial_padding": 0,
"r_frame_rate": "0/0",
"avg_frame_rate": "0/0",
"time_base": "1/14112000",
"start_pts": 353600,
"start_time": "0:00:00.025057",
"duration_ts": 2066227200,
"duration": "0:02:26.416327",
"bit_rate": "128000",
"disposition": {
"default": 0,
"dub": 0,
"original": 0,
"comment": 0,
"lyrics": 0,
"karaoke": 0,
"forced": 0,
"hearing_impaired": 0,
"visual_impaired": 0,
"clean_effects": 0,
"attached_pic": 0,
"timed_thumbnails": 0,
"non_diegetic": 0,
"captions": 0,
"descriptions": 0,
"metadata": 0,
"dependent": 0,
"still_image": 0
},
"tags": {
"encoder": "LAME3.99r"
},
"side_data_list": [
{
"side_data_type": "Replay Gain"
}
]
}
],
"chapters": [
],
"format": {
"filename": "D:\\Downloads\\VideoAudioAnalysis\\\\files\\audio.mp3",
"nb_streams": 1,
"nb_programs": 0,
"format_name": "mp3",
"format_long_name": "MP2/3 (MPEG audio layer 2/3)",
"start_time": "0:00:00.025057",
"duration": "0:02:26.416327",
"size": "2343078",
"bit_rate": "128022",
"probe_score": 51
}
}
Выполнение действия CSharp OwnCode: Run "ffprobe" Instance. Не удается найти указанный файлЕщё один вариант через ffprobe (составная часть ffmpeg) с расширенной инфой в JSON формате. Получает длину как у видео, так и у аудио файлов. Тестовый шаблон прикрепил.
На выходе:
Посмотреть вложение 118346
Посмотреть вложение 118341
json info:{ "streams": [ { "index": 0, "codec_name": "mp3", "codec_long_name": "MP3 (MPEG audio layer 3)", "codec_type": "audio", "codec_tag_string": "[0][0][0][0]", "codec_tag": "0x0000", "sample_fmt": "fltp", "sample_rate": "44100", "channels": 2, "channel_layout": "stereo", "bits_per_sample": 0, "initial_padding": 0, "r_frame_rate": "0/0", "avg_frame_rate": "0/0", "time_base": "1/14112000", "start_pts": 353600, "start_time": "0:00:00.025057", "duration_ts": 2066227200, "duration": "0:02:26.416327", "bit_rate": "128000", "disposition": { "default": 0, "dub": 0, "original": 0, "comment": 0, "lyrics": 0, "karaoke": 0, "forced": 0, "hearing_impaired": 0, "visual_impaired": 0, "clean_effects": 0, "attached_pic": 0, "timed_thumbnails": 0, "non_diegetic": 0, "captions": 0, "descriptions": 0, "metadata": 0, "dependent": 0, "still_image": 0 }, "tags": { "encoder": "LAME3.99r" }, "side_data_list": [ { "side_data_type": "Replay Gain" } ] } ], "chapters": [ ], "format": { "filename": "D:\\Downloads\\VideoAudioAnalysis\\\\files\\audio.mp3", "nb_streams": 1, "nb_programs": 0, "format_name": "mp3", "format_long_name": "MP2/3 (MPEG audio layer 2/3)", "start_time": "0:00:00.025057", "duration": "0:02:26.416327", "size": "2343078", "bit_rate": "128022", "probe_score": 51 } }
Архив смотрите, там есть все файлы для работы шаблона.Выполнение действия CSharp OwnCode: Run "ffprobe" Instance. Не удается найти указанный файл
Сбойное действие: Run "ffprobe" Instance
Ошибку выдало, только я не понял что это за фаил и где его брать
В ссылки из GAC добавил же? Или просто положил в папку?Компиляция кода Ошибка в действии "CS0103" "The name 'TagLib' does not exist in the current context". [Строка: 5; Cтолбец: 8]
скопирова фаил dll в директорию нужную, запустил, и не работает(