|
Модераторы: Akina |
|
SPARKCom |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 27.7.2009 Репутация: нет Всего: нет |
Привет форумчане!
Есть задача: узнать свойства аудиофайла (например длину трека) не загружая его. Нужно это, например, быстро и красиво заполнить плейлист с временем треков и пр. Пробовал через WMPlayer, но там, что-бы получить эту инфу - нужно, мало того, что загрузить, так ещё и "play"; а если файлов больше 10, плейлист очень долго будет грузиться - коряво как-то (это норм. реализовано например в Winamp'e и пр.). В проводнике виндовс 7-же есть такая крутая фича, даже если курсор над файлом задержать - всплывает продолжительность и пр., причем не только mp3, а очень многих форматов, включая Lossless, ну соответственно можно получить через свойства файла->подробно. Значит наверняка можно просто зачитывать нужный хеадер через API. Перелопатил кучу интернета - ничего по этому поводу для VB не нарыл, кроме каких-то winamp'овских плагинов для wav. Поделитесь примерчиком или идейкой, кто в теме! Это сообщение отредактировал(а) SPARKCom - 16.5.2016, 20:13 |
|||
|
||||
solowey |
|
|||
Новичок Профиль Группа: Участник Сообщений: 0 Регистрация: 24.11.2009 Репутация: нет Всего: нет |
Поковыряй тут - https://msdn.microsoft.com/library/as4xcs58(v=vs.100).aspx
Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
Akina |
|
|||
Советчик Профиль Группа: Модератор Сообщений: 20570 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 34 Всего: 453 |
Как минимум потребуется загрузить ту часть файла, в которой содержится требуемая информация. Для большинства форматов это как минимум заголовок, а для контейнеров вообще придётся грузить заголовки всех блоков. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
SPARKCom |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 27.7.2009 Репутация: нет Всего: нет |
Получилось зачитать заголовок(и) с помощью подключение библы "MediaInfo.dll". Оказывается она может даже, помимо всего, приклеенные обложки выгружать! Теперь встала другая незадача, как их загрузить в PictureBox!? Я получаю текстовый поток, в нем вся медиаинфа, и после строки "Cover_Data" - куча разных букав (т.е. и есть обложка). Я понимаю, что это бинарные данные, но вот как их "выдернуть" из строки и загрузить в PictureBox. Я ради смеха руками скопировал эти данные в блокнот и сохранил под .jpg - результат, понятно какой... Может кто в теме, подскажите?
|
|||
|
||||
SPARKCom |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 27.7.2009 Репутация: нет Всего: нет |
На другом форуме подсказали, что картинка зашифрована через Base64. Рыл интернет - Гугли по запросу "Decode Image Base64" находят в основном Code/Decode текст, а если и картинки, то ничего вразумительного, либо декодируют мелкие через раз, либо вообще не декодируют. Нашел онлайн декодер "http://freeonlinetools24.com/base64-image" - Супер! "Загружаешь туда код Base64 картинки любого формата или размера, и тут же получаешь изображение. Вот бы подобный алгоритм на VB6!!! Пока ничего подобного найти не получилось. Поделитесь примерчиком, кто в теме или киньте ссылочку, если не затруднит.
|
|||
|
||||
Akina |
|
|||
Советчик Профиль Группа: Модератор Сообщений: 20570 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 34 Всего: 453 |
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
SPARKCom |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 27.7.2009 Репутация: нет Всего: нет |
Спасибо, что откликнулись, выглядит конечно эффектно, но я по запросу в гугле "base64 decode source code visual basic", и даже "decode base64 to image source code visual basic" уже все перерыл и потратил на это уйму времени. Там в основном коды "code/decode text to text" в разных вариациях, либо то, что надо (decode Base64 to Image), но на всевозможных языках, кроме vb6. Либо на vb6, но кривенько и толком нерабочее (например маааленькую гифку может, а картинка, чуть больше - никак). Поэтому, собственно и прошу здесь помощи! Добавлено @ 18:46 Вот например код формы на VB.NET (нашел на "http://www.casparcg.com/forum/viewtopic.php?f=3&t=3476") Как бы портировать в VB6?
Это сообщение отредактировал(а) SPARKCom - 22.6.2016, 19:06 |
|||
|
||||
Akina |
|
|||
Советчик Профиль Группа: Модератор Сообщений: 20570 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 34 Всего: 453 |
Чем выёживаться, посмотрел бы результат поиска - ПЕРВАЯ ссылка (и 7 из 10 на первой странице) содержит готовый код.
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
SPARKCom |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 27.7.2009 Репутация: нет Всего: нет |
Ты меня так и не услышал! Base64 to Text у меня УЙМА рабочих примеров! Мне нужно Base64 to PictureBox или, хотя бы сохранить в файл изображения! Я там по всем этим ссылкам был и нет там ничего толкового из Base64 to Image! В первом - модуль Base64 to Text, классный, но в ТЕКСТ! Как и в следующих... Но все равно спасибо, что откликнулся. |
|||
|
||||
Akina |
|
|||
Советчик Профиль Группа: Модератор Сообщений: 20570 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 34 Всего: 453 |
Base64 делает ОДНУ операцию! Вернее, одну из двух комплементарных. Либо char array (string) to binary array, либо наоборот. Эдакая сериализация-десериализация. И ВСЁ!
А как ты будешь интерпретировать полученный бинарный массив - как тело картинки или там как числовой массив, это целиком и полностью твоя забота, с декодированием НИКАК не связанная. Так что тебе нужно, вероятно, ДВА не сильно связанных кода. Первый - это Base64-декодирование в байтовый массив. Ссылка дана. Второй - запихивание данных из байтового массива в PictureBox. Это можешь посмотреть, например, вот тут. Извини, но имхо это ты не понял ответа. Не бывает кнопки "Сделать песдато". PS. А жаль. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
SPARKCom |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 27.7.2009 Репутация: нет Всего: нет |
Я собсно и не просил "Сделать песдато". Я вначале в вопросе так и писал: "...бинарные данные, но вот как их "выдернуть" из строки и загрузить в PictureBox...". Может я немного и неправильно выразился, надо было: "декодировать и (потом) загрузить массив напрямую в PictureBox", но мне показалось, что суть понятна...
А за ссылку Akina, тебе громадное Спасибо!!! |
|||
|
||||
Правила форума "VB6" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | VB6 | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |