Форум программистов, компьютерный форум, киберфорум
Наши страницы
Бета-тестирование
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
andrey11231990
7 / 7 / 0
Регистрация: 05.11.2011
Сообщений: 153
1

Просьба оценить созданное мной приложение - это видео/аудио плеер

11.03.2012, 19:50. Просмотров 1620. Ответов 17
Метки нет (Все метки)

Здравствуйте! просьба оценить созданное мной приложение - это видео/аудио плеер.
просьба сделать замечания, дать пожелания каких функций не хватает и т.п.
Сразу замечу, что плеер делается для защиты на экзамене, поэтому функционал маленький и на конкуренцию с существующими плеерами не претендует)
Функции, которые уже реализованы:
стоп, пауза, старт, следующий, предыдущий, открыть (один файл,
несколько файлов, перетащить на форму медиа файл), плей лист и
воспроизведение файла из него, путем нажатия двойного щелчка ЛКМ,
удаление файла из плей листа, открытие выбранного файла в его папке,
пауза/старт при ЛКМ на окне видео фрагмента, перемотка с помощью
ползунка, регулировка звука и кнопка mute (выкл./вкл. звук). Ну, вроде
бы и все.
список, поддерживаемых форматов (".mp4", ".flv", ".wma",".mp3",
".avi", ".wmv", ".3gp", ".mpg", ".mpeg", ".evo", ".rec", ".wmp",
".wm", ".dat", ".amw", ".flac", ".aac",".midi", ".wav", ".wax",
".vob", ".ifo", ".mkv", ".mov", ".rm", ".ram", ".dat", ".flic",
".divx"), но зависит от установленных драйверов на вашем ПК.
ссылка - https://skydrive.live.com/?cid=9CBB7...E98017EB%21105
Жду отзывов и рекомендаций.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.03.2012, 19:50
Ответы с готовыми решениями:

аудио и видео плеер для joomla
Здравствуйте! Скажите где можно найти хороший MP3 плеер для сайта? Я хочу добавить большое...

Плеер, не активно переключение аудио/видео файлов
Приветствую, почему не активны кнопки переключения файлов в плеере? Свойства компонента обшарил,...

Всеядный видео/аудио плеер для MVC
Загорелись с другом идеей написать сайт для домашнего сервера на Windows. Часть сайта уже была...

Как создать аудио-видео плеер с плейлистом
нужно написать аудио видео плеер с плейлистом !! отдельно видео и отдельно аудио есть ! как...

Медиа плеер. Воспроизведение любых форматы видео и аудио файлов
Мне задали курсовой проект - медиа плеер, я накопал на просторах интернета библиотеку с помощью...

17
Jupiter
Каратель
Эксперт С++
6572 / 3993 / 400
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
11.03.2012, 21:14 2
C#
1
2
3
4
5
6
7
Button_Click_1
/*some code*/
Button_Click_2
/*some code*/
Button_Click_3
/*some code*/
Button_Click_4
скажите, а как вы отличаете обработчики кнопок в коде?
ну а по дизайну
1. почему все зеленое? почему не красное или не жёлтое?
2. куда девается ползунок? почему надо навести мышкой чтоб его узреть?
3. как определить что в данный момент воспроизводится например музыкальный файл? это я к тому что кнопки никак не выделяются во время воспроизведения/паузы
0
andrey11231990
7 / 7 / 0
Регистрация: 05.11.2011
Сообщений: 153
11.03.2012, 22:32  [ТС] 3
ну зеленое потому, что мне нравиться зеленый)
насчет - паузы/воспроизведения - исправлю, т.к. это уже вы не первый, кто сделал такое замечание.
и по поводу ползунка - тоже, наверное сделаю его видимым все время.
Спасибо)
жду еще замечаний
0
newclaus
18 / 18 / 4
Регистрация: 08.03.2012
Сообщений: 72
12.03.2012, 10:46 4
andrey11231990, а ты можешь кинуть код как воспроизводишь файлы?
0
Dj_SheLL
173 / 78 / 10
Регистрация: 13.02.2010
Сообщений: 308
12.03.2012, 12:45 5
Не рационально распределено пространство окна.
Я бы подумал над приятным дизайном. даже пусть будет простым, но приятным. Ядовито-зелёный не каждому понравится.
По поводу проигрываемого времени - на скриншоте виден косяк.
Ещё в диалоговом окне я бы поставил фильтр - пользователь не должен думать, какие файлы нужно выбирать, а какие нельзя, иначе у программы будет ошибка.
Скрыл бы с панели задач. Сделал бы в виде виджета на рабочий стол и обязательно с иконкой в трее.
По поводу виджета - нужно продумать быстрый доступ, чтобы у пользователя не было не приятных эмоций, когда он сворачивает все окна, чтобы добраться до плеера.
Я бы ещё продумал бы идею визуализации адуио-потока.
Ну это всё мои мысли.

Т.е. в общем должен быть понятный для всех интерфейс.

Начинание неплохое!Дерзайте!
0
Миниатюры
Просьба оценить созданное мной приложение - это видео/аудио плеер  
bob3
34 / 34 / 5
Регистрация: 16.11.2010
Сообщений: 105
12.03.2012, 14:47 6
andrey11231990, у времени округли секунды до целого, кому нужны миллисекунды ?
0
Мастер Шифу
918 / 71 / 9
Регистрация: 15.10.2011
Сообщений: 583
Записей в блоге: 1
12.03.2012, 18:13 7
не работает,ничего не вопроизводит, постоянно пишет Error while loading video fale
0
andrey11231990
7 / 7 / 0
Регистрация: 05.11.2011
Сообщений: 153
12.03.2012, 20:49  [ТС] 8
код на кнопку play
mediaElement1.LoadedBehavior = MediaState.Manual;
mediaElement1.Play();

Добавлено через 2 минуты
Цитата Сообщение от bob3 Посмотреть сообщение
andrey11231990, у времени округли секунды до целого, кому нужны миллисекунды ?
так все я округлял, не знаю почему у вас отображаються миллисекунды. У меня и еще на нескольких ПК отображаеться все верно.
А какая у вас ОС, какой фраймворк (версия) и какой тип файла вы воспроизводите?

Добавлено через 1 минуту
Цитата Сообщение от Мастер Шифу Посмотреть сообщение
не работает,ничего не вопроизводит, постоянно пишет Error while loading video fale
какая у вас ос, версия фраймворка, какой тип файла, как пытались открыть файлы (перетащить/кнопка add)?
и если можно, скиньте скриншот
0
bob3
34 / 34 / 5
Регистрация: 16.11.2010
Сообщений: 105
13.03.2012, 10:19 9
andrey11231990, на скриншоте Dj_SheLL'a все прекрасно видно (я про дробную часть секунд)
0
Мастер Шифу
918 / 71 / 9
Регистрация: 15.10.2011
Сообщений: 583
Записей в блоге: 1
13.03.2012, 10:27 10
Цитата Сообщение от andrey11231990 Посмотреть сообщение
какая у вас ос, версия фраймворка, какой тип файла, как пытались открыть файлы (перетащить/кнопка add)?
и если можно, скиньте скриншот
win xp; .NET c 2 по 4; видео avi, mp4; кодеки XVID, h264
Просьба оценить созданное мной приложение - это видео/аудио плеер
0
andrey11231990
7 / 7 / 0
Регистрация: 05.11.2011
Сообщений: 153
13.03.2012, 18:15  [ТС] 11
Цитата Сообщение от Мастер Шифу Посмотреть сообщение
Сообщение от andrey11231990
какая у вас ос, версия фраймворка, какой тип файла, как пытались открыть файлы (перетащить/кнопка add)?
и если можно, скиньте скриншот
win xp; .NET c 2 по 4; видео avi, mp4; кодеки XVID, h264
А вы бы не могли попробовать воспроизводить файл меньшего размера. может в этом проблема. Хотя у меня и еще на одном пк ошибок не было (7 и хр), например 2,5 гб воспроизводит спокойно при любом способе добавления файла. но все же, может это влияет
0
Casper-SC
Эксперт .NET
3650 / 1854 / 361
Регистрация: 27.03.2010
Сообщений: 5,199
Записей в блоге: 1
17.03.2012, 17:11 12
1) Сделай, чтобы при щелчке на ползунке громкости можно было по чуть-чуть добавлять громкость, а не сразу на 100% или на 0%, это вообще один из самых сильных минусов.
2) Цвет фона ниочём. Про градиенты слыхал? В WPF это вообще просто всё делается. Кнопка "Закрыть" никак не анимирована, тоесть вообще не реагирует ни на что, как картинка просто. Короче кнопку надо нормальную.

Попробуй может какой-то такой градиент, тут ещё окно отбрасывает тень. Я не предлагаю свой вариант на прогу ставить, просто посмотри, может что-то придумается, сам сделаешь градиент нормальный:
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<Window x:Class="Wpf_Window.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="502" Width="741" WindowStartupLocation="CenterScreen" 
        WindowStyle="None" ResizeMode="NoResize" AllowsTransparency="True" Background="{x:Null}"
        TextOptions.TextFormattingMode="Display"
    >
    <Grid>
        <Border CornerRadius="20" Margin="0,0,10,10" MouseLeftButtonDown="Border_MouseLeftButtonDown">
            <Border.Effect>
                <DropShadowEffect BlurRadius="8" Color="Black" Opacity="0.5" />
            </Border.Effect>
            <Grid>
                <Button Content="Закрыть " Height="24" Margin="0,10,10,0" Name="btnClose" VerticalAlignment="Top" Click="btnClose_Click" FontSize="12" TextOptions.TextFormattingMode="Ideal" HorizontalAlignment="Right" Width="60" />
            </Grid>
            <Border.Background>
                <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                    <GradientStop Color="#FF6BE26B" Offset="0" />
                    <GradientStop Color="#FF178D17" Offset="0.992" />
                    <GradientStop Color="#FF34AA34" Offset="0.036" />
                    <GradientStop Color="#FF2ED439" Offset="0.956" />
                    <GradientStop Color="#FF6BFF5F" Offset="0.847" />
                    <GradientStop Color="#FF90EF87" Offset="0.226" />
                    <GradientStop Color="#FF79FF72" Offset="0.124" />
                </LinearGradientBrush>
            </Border.Background>
        </Border>
    </Grid>
</Window>
В довесок к XAML, чтобы запустить можно было быстрее сильно не редактируя XAML
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }
 
        private void Border_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            DragMove();
        }
 
        private void btnClose_Click(object sender, RoutedEventArgs e)
        {
            Application.Current.Shutdown();
        }
    }
1
andrey11231990
7 / 7 / 0
Регистрация: 05.11.2011
Сообщений: 153
17.03.2012, 20:29  [ТС] 13
Цитата Сообщение от Casper-SC Посмотреть сообщение
1) Сделай, чтобы при щелчке на ползунке громкости можно было по чуть-чуть добавлять громкость, а не сразу на 100% или на 0%, это вообще один из самых сильных минусов.
а вы бы не могли подсказать, каким образом это возможно сделать?
там элемент Slider, но я не знаю, как можно настроить его так, что бы ползунок перемещался на то место, на котором находиться указатель мыши. может есть какой-то специальный метод (событие)? или это нужно вручную отлавливать расположение указателя и соответственно перемещать курсор (если так, то как-то слишком много мороки получиться)?
0
Casper-SC
Эксперт .NET
3650 / 1854 / 361
Регистрация: 27.03.2010
Сообщений: 5,199
Записей в блоге: 1
17.03.2012, 21:01 14
Цитата Сообщение от andrey11231990 Посмотреть сообщение
а вы бы не могли подсказать, каким образом это возможно сделать?
Слайдеру в XAML задай свойство:
XML
1
IsMoveToPointEnabled="True"
Добавлено через 1 минуту
И да, тут уже писали, но всё-таки не давай возможность добавлять в список воспроизведения файлы ненужных форматов, типа *.txt и прочих, а то в плейлист лезет всё чему не лень Другие форматы сам добавь, там всё понятно вроде как добавлять.
C#
1
2
3
4
5
6
7
8
9
10
11
        //нажатие по кнопке "Выбрать" (музыкальный файл)
        private void SelectMusicFileButton_Click(object sender, RoutedEventArgs e)
        {
            OpenFileDialog openFileDialog = new OpenFileDialog();
            openFileDialog.Filter = "Музыкальные файлы|*.mp3; *.mp2; *.wma; *.wav; *.ogg; *.ogm; *.au; *.aif;";
            bool? result = openFileDialog.ShowDialog(this);
            if (result == true)
            {
                //-------
            }
        }
Добавлено через 51 секунду
Ну так что, тень и градиент окну будешь делать?

Добавлено через 10 минут
Добавь в проект манифест, чтобы кнопки у OpenFileDialog и MessageBox небыли квадратные. Для этого сделай такие действия:
Проект -> Добавить новый элемент. Появится окно, выбери в нём "Файл манифеста приложения". В проект добавится файл, если не будешь менять имя, то он будет называться: "app.manifest", открой его и расскоментируй строки:
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
  <!-- Включите темы для общих элементов управления и диалоговых окон Windows (Windows XP и более поздние версии) -->
  <!-- <dependency>
    <dependentAssembly>
      <assemblyIdentity
          type="win32"
          name="Microsoft.Windows.Common-Controls"
          version="6.0.0.0"
          processorArchitecture="*"
          publicKeyToken="6595b64144ccf1df"
          language="*"
        />
    </dependentAssembly>
  </dependency>-->
После этого кнопки не будут квадратные.
1
andrey11231990
7 / 7 / 0
Регистрация: 05.11.2011
Сообщений: 153
18.03.2012, 00:04  [ТС] 15
Цитата Сообщение от Casper-SC Посмотреть сообщение
Проект -> Добавить новый элемент. Появится окно, выбери в нём "Файл манифеста приложения". В проект добавится файл, если не будешь менять имя, то он будет называться: "app.manifest", открой его и расскоментируй строки:
раскоментировал - появилась ошибка, в которой говориться, что не может найти файл Microsoft.Windows.Common-Controls. Как это можно устранить?
насчет градиента - последую вашему совету и поиграюсь с цветами
За подсказки - огромное спасибо

Добавлено через 8 минут
и еще есть один вопрос - как можно передавать значения в wpf между окнами?
я хотел сделать плей лист в новом окне, т.е. открывать и закрывать его во время работы плеера и в плей листе делать двойной щелчок ЛКМ и что бы файл воспроизводился и выполнять др. команды. Но вот какая проблема у меня возникла - во втором окне я выбираю файл и делаю, например, что бы он воспроизводился, а этого не происходит. А после этого, вообще сам плеер закрываться не хочет, его нужно в студии останавливать.
Читал, что можно использовать сообщения для передачи каких-либо параметров между окнами, но так и не понял как это делать.
И теперь, сам вопрос - как можно передавать название файла между окнами, что бы можно было реализовать плей лист, как в нормальных плеерах?
0
Casper-SC
Эксперт .NET
3650 / 1854 / 361
Регистрация: 27.03.2010
Сообщений: 5,199
Записей в блоге: 1
18.03.2012, 09:11 16
Цитата Сообщение от andrey11231990 Посмотреть сообщение
и еще есть один вопрос - как можно передавать значения в wpf между окнами?
Ну ты даёшь. Это самая обычная передача параметров в любой метод. Окно тоже обычный класс, так что отличий никаких. Почитай книгу чтоли по C#.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
using System.Windows;
using Microsoft.Win32;
 
namespace WpfApplication1
{
    public partial class MainWindow : Window
    {
        PlaylistWindow playlist;
 
        public MainWindow()
        {
            InitializeComponent();
            playlist = new PlaylistWindow();
            playlist.Show();
        }
 
        private void button1_Click(object sender, RoutedEventArgs e)
        {
            OpenFileDialog openFileDialog = new OpenFileDialog();
            openFileDialog.Multiselect = true;
            openFileDialog.Filter = "Музыкальные файлы|*.mp3; *.mp2; *.wma; *.wav; *.ogg; *.ogm; *.au; *.aif;";
            bool? result = openFileDialog.ShowDialog(this);
            if (result == true)
            {
                playlist.SetFilesToPlaylist(openFileDialog.FileNames);
            }
        }
    }
}
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
using System.Collections.ObjectModel;
using System.Windows;
 
namespace WpfApplication1
{
    public partial class PlaylistWindow : Window
    {
        ObservableCollection<string> files;
 
        public PlaylistWindow()
        {
            InitializeComponent();
            files = new ObservableCollection<string>();
            listView1.ItemsSource = files;
        }
 
        public void SetFilesToPlaylist(string[] newFiles)
        {
            files.Clear();
            for (int i = 0; i < newFiles.Length; i++)
                files.Add(newFiles[i]);
        }
    }
}
В этом коде смотри как вообще передать параметры, а как и когда отображать плейлист лучше напиши по своему, мне просто небыло смысла сидеть заморачиваться, просто показал окно при старте и всё, чтобы затестить работоспособность примера.
1
andrey11231990
7 / 7 / 0
Регистрация: 05.11.2011
Сообщений: 153
18.03.2012, 16:54  [ТС] 17
такой, наверное, смешной вопрос по поводу передачи параметров между окнами:
я делаю так - создаю первое окно, на котором есть кнопка для открытия второго окна и медиаелемент
на втором окне - листвью, в котором отображаються добавленные файлы, кнопка для добавления записей. И событие для листвью - двойной щелчок по элементу списка. в этом событии прописываю вызов метода в первом окне, который должен получить строку с адресом файла, присвоить этот адрес медиаелементу и начать воспроизводить этот файл. Но, чет не начинает воспроизводить. Файлы в листвью добавляються, но не воспроизводяться. Пробовал ставить вызов метода и на кноку (решил проверить, на всякий случай) тоже не помогло.
вызов метода со второго окна
C#
1
2
3
4
private void button3_Click(object sender, RoutedEventArgs e)
        {
            mw.PlayFile(MyList[listView1.SelectedIndex].FirstName);
        }
в первом окне сам метод:
C#
1
2
3
4
5
6
public void PlayFile(string fileName)
        {
            mediaElement1.DataContext = fileName;
            mediaElement1.LoadedBehavior = MediaState.Manual;
            mediaElement1.Play();
        }
что я не так делаю?
0
Casper-SC
Эксперт .NET
3650 / 1854 / 361
Регистрация: 27.03.2010
Сообщений: 5,199
Записей в блоге: 1
19.03.2012, 21:27 18
Тут качай, там сделана передача песен и т.д. в плейлист и из него.
1
19.03.2012, 21:27
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.03.2012, 21:27

Медиа плеер на directx (выдаёт исключение при попытке воспроизвести видео/аудио файл)
Со стороны кода всё правильно, но выдаёт исключение, не могу найти решение проблемы, не хотелось бы...

Остановка аудио плеера при клике на другой аудио плеер
Всем привет. На сайт добавил такой вот плеерочек. На странице стоит много таких плееров и нужно,...

Просьба запустить у себя написанную мной программу и сказать ответ :)
Доброго времени суток. За неимением Матлаба на домашнем компе вынужден попросить кого-нибудь...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru