3 / 3 / 0
Регистрация: 24.07.2013
Сообщений: 77
1

Видео плеер

11.08.2013, 21:07. Показов 5268. Ответов 20
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Пишу свой видео плеер (т.к. придумал фишку, которой не встречал в других плеерах). Нужна толковая библиотека для воспроизведения видео (форматы avi mkv flv mp4 ну и другие по возможности). Стандартный компонент медиаплеер зверски глючит на большей части файлов (о чём все и без меня знают).
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.08.2013, 21:07
Ответы с готовыми решениями:

Видео плеер
Сделал почти готовую прогу, теперь туда нужно добавить видео плеер какой нибудь, как в delphi 7...

Видео - флеш плеер
Доброго времени суток. Подскажите, пожалуйста, какими способами возможно воспроизвести видео с того...

Нужен простенький видео плеер для вопроизведения AVI
Всем привет кому не жалко киньте простенький видео плеер который читает формат AVI и исходники к...

Создание видео плеера с увеличением видео во время проигрывания
Доброго времени суток, Хочу написать программу не знаю за что браться с чего начать, Дельфи ...

20
157 / 300 / 47
Регистрация: 14.08.2012
Сообщений: 2,578
21.09.2013, 21:34 21
Author24 — интернет-сервис помощи студентам
Цитата Сообщение от DeN-6666 Посмотреть сообщение
Короче говоря я забил на DirectShow и стал юзать bass_dshow.dll библиотеку.

1)Немогу разобраться с отображением позиции файла (какая часть файла проигрывается). Попробывал через trackbar и таймер 1 сек. В результате получается зависание звука и картинки через каждую секунду, хотя трэкбар смещается по позиции. Как я понял позиция в библиотеке отображается в типом real , а трэкбар работает
с типом integer.

2) как отобразить позицию файла в часах\минутах\секундах ?
Если бы ты изучал сначало Bass, то было бы легче писать.
Попробую тебе написать.
Для обоих функция xVideo_ChannelGetPosition(Chan: HStream; Mode: DWORD);
У функции есть флаг, который тебе и нужен:
xVideo_POS_SEC-функция выдаст позицию воспроизведения файла в секундах(То есть, то что тебе надо для обеих вопросов, если надо узнать позицию текущего фрейма(кадра из видео), то xVideo_POS_FRAME в качестве флага для функции). Функция имееть тип Double, от которого пошел тип Real. Функция Round округлит позицию до Integer. И дальше выводишь на позицию TrackBar или ScrollBar. Для того, чтобы не выскакивала ошибок, надо записать ещё и длину. xVideo_ChannelGetLength c флагом xVideo_POS_SEC. Её надо тоже округлить функцией Round в свойство Max у компонента.
2) Для того, чтобы отобразить позицию и длину воспроизводимого потока(из видеофайла создается поток типа HStream), надо сначала записать в переменные типа Double длину и позицию(interval у таймера ставь на 40), следом в другие две переменные того же типа выводим результат деления первых переменых на 3600*24, то есть на кол-во секунд в сутках. Следом уже с помощью FormatDateTime преобразуем результат в строку. Вот код:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
var
TrackPos,TrackLen: Double; //первые переменные
ValPos,ValLen: Double; //вторые переменные
begin
...//какой-то код
TrackPos:=xVideo_ChannelGetPosition(Channel,xVideo_POS_SEC);
TrackLen:=xVideo_ChannelGetLength(Channel,xVideo_POS_SEC);
ValPos:=TrackPos / (24*3600);
ValLen:=TrackLen / (24*3600);
Label1.Caption:=FormatDateTime('hh:mm:ss',ValPos) + '/' + FormatDateTime('hh:mm:ss',ValLen);
//в лебел отразится в часах, минутах, секундах позиция / длина воспроизводимого файла. 
end;
За основу был взят код с этого сайта: http://basicsprog.ucoz.ru/publ/6-1-0-18
0
21.09.2013, 21:34
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.09.2013, 21:34
Помогаю со студенческими работами здесь

Плеер
Здравствуйте! у меня такая проблема! Вот такой код: L,R,L1,R1:Integer; level:Dword; begin ...

Плеер
почему черный экран?видео не воспроизводит

Плеер
Доброго времени суток! есть вопрос... для своей проги надо сделать что - то наподобие плеера......

Онлайн Плеер
Помогите пожалуйста сделать онлайн плеер чтобы можно было смотреть фильмы,клипы,видео онлайн


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
21
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru