Форум программистов, компьютерный форум, киберфорум
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 23.12.2014
Сообщений: 6

Как можно сделать такой же плейлист, как в Aimp

12.02.2015, 04:09. Показов 1841. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Решил написать простенький плеер (использую bass.dll).
Меня интересует вопрос , как можно сделать такой же плейлист как в Aimp, чтобы на каждом элементе в списке писалось название трека, исполнитель , альбом, его длительность и так далее...


Как я понял нужен второй канал , чтобы узнать информацию о каждом треке , но как это реализовать не знаю, также не знаю как правильно осуществить привязку в данном примере.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.02.2015, 04:09
Ответы с готовыми решениями:

Плейлист как в AIMP
Всем привет. Подскажите пожалуйста, можно ли сделать подобие плейлиста AIMP, чтобы так же были две строки (вторая строка меньше по...

Можно ли своими руками сделать такой чисто оптический девайс и как его можно обозвать?
Девайс предназназначен для просмотра статических стереопар. Стереопары вместе с разметкой распечатываются принтером и вырезаются по...

Как можно сделать вот такой поисковик товара на сайт???
Всем привет! Ребят, подскажите пожалуйста, как можно сделать вот такой поисковик Для поиска товара на сайте по определенным...

5
Заблокирован
12.02.2015, 10:53
DreamEffectRus, вы не знаете как вытащить нужную информацию из .mp3 файла или как красиво оформить список?
0
0 / 0 / 0
Регистрация: 23.12.2014
Сообщений: 6
12.02.2015, 11:09  [ТС]
Вытащить информацию у меня получается , в плеере слева есть лейблы и и картинка для отображения тегов, вот так реализовано
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
stream = Bass.BASS_StreamCreateFile(files[adress], 0, 0, 0);
Bass.BASS_ChannelPlay(stream, false);
TAG_INFO tag_info = new TAG_INFO(files[adress]);
 
            if (BassTags.BASS_TAG_GetFromFile(stream, tag_info))
            {
                
                LabelNameSong.Content = tag_info.title;
                LabelAlbumSong.Content = tag_info.album;
                LabelGenreSong.Content = tag_info.genre;
                LabelYearSong.Content = tag_info.year;
                LabelArtistSong.Content = tag_info.artist;
                LabelBitrateSong.Content = tag_info.bitrate;
                LabelDurationSong.Content = tag_info.duration;
 
                if (tag_info.PictureCount > 0)
                {
                    BitmapImage newbitmapimage = new BitmapImage();
                    System.Drawing.Image Cover = tag_info.PictureGetImage(0);
                    newbitmapimage.BeginInit();
                    MemoryStream newmemorystream = new MemoryStream();
                    Cover.Save(newmemorystream, ImageFormat.Bmp);
                    newmemorystream.Seek(0, SeekOrigin.Begin);
                    newbitmapimage.StreamSource = newmemorystream;
                    newbitmapimage.EndInit();
                    PictureCoverSong.Source = newbitmapimage;
                }
 
            }
меня интересует скорее правильное , красивое оформление списка ,как в Aimp
0
116 / 116 / 42
Регистрация: 27.02.2013
Сообщений: 899
12.02.2015, 12:46
DreamEffectRus, скорее всего здесь лучше использовать datagrid или listview. вот пример небольшой компоновки объектов в datagrid:
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
 <DataGrid Name="dataGrid" MaxWidth="970" 
AutoGenerateColumns="False" 
ItemsSource="{Binding Instrumentation1}"  
\Margin="0,10,0,-10" IsReadOnly="True" 
CanUserAddRows="False"
SelectionUnit="FullRow">
               <DataGrid.Columns >
                 <DataGridTemplateColumn CanUserReorder="False" 
                    IsReadOnly="True" CanUserResize="False">
                     <DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>
                           <StackPanel Orientation="Vertical">
                              <Image Source="{Binding priborPhoto}" 
                               Height="250" Width="300" Stretch="Fill"/>
                           </StackPanel>
                         </DataTemplate>
                      </DataGridTemplateColumn.CellTemplate>
                  </DataGridTemplateColumn>
 
                  <DataGridTemplateColumn 
                      CanUserReorder="False" IsReadOnly="True" 
                      CanUserResize="False" >
                       <DataGridTemplateColumn.CellTemplate>
                          <DataTemplate >
 
                            <Grid HorizontalAlignment="Center" 
                                VerticalAlignment="Center">
                               <Grid.ColumnDefinitions>
                                  <ColumnDefinition />
                                  <ColumnDefinition />
                                 </Grid.ColumnDefinitions>
                                                       
                                <StackPanel  Orientation="Vertical"
                                  Grid.Column="0" Margin="25,3,3,3">
                                    <TextBlock Foreground="{StaticResource Foreground}" 
                                       Text="Название прибора:"/>
                                     <TextBlock Foreground="{StaticResource Foreground}" 
                                       Text="Компания:"/>
                                     <TextBlock Foreground="{StaticResource Foreground}" 
                                       Text="Тип прибора:"/>
                                 </StackPanel>
 
                                 <StackPanel  Orientation="Vertical"  Margin="3" Grid.Column="1">
                                    <TextBlock Foreground="{StaticResource Foreground}"  
                                       Text="{Binding priborName}"/>
                                     <TextBlock Foreground="{StaticResource Foreground}"
                                        Text="{Binding priborType}"/>
                                     <TextBlock Foreground="{StaticResource Foreground}"
                                        Text="{Binding priborDate}"/>
 
                                      <StackPanel Orientation="Horizontal" Margin="10,35,10,10" >
                                         <Button HorizontalAlignment="Right"  Content="Заказать" 
                                            Height="40" FontSize="16" Width="100" Name="btnBuyGoods"
                                            Foreground="White" VerticalAlignment="Bottom"
                                            Background="#FF6D375B" Margin="0,0,10,0"  />
                                        </StackPanel>
                                    </StackPanel>
                   </Grid>
 
                  </DataTemplate>
                 </DataGridTemplateColumn.CellTemplate>
                </DataGridTemplateColumn>
               </DataGrid.Columns>
</DataGrid>
0
Эксперт .NET
 Аватар для Casper-SC
4434 / 2094 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
12.02.2015, 13:26
Цитата Сообщение от blackstar Посмотреть сообщение
скорее всего здесь лучше использовать datagrid или listview
Ну уж точно не DataGrid

Добавлено через 13 секунд
Тут обычный ListBox сойдёт.

Добавлено через 2 минуты
Хотя вижу там сворачивать можно группы...

Добавлено через 37 секунд
В общем, нужно копать, что там на чём проще сделать.

Добавлено через 4 минуты
Копнул. Тут вполне сойдёт либо действительно ListBox, либо ItemsControl с настроенным GroupStyle (к листбоксу так же относится).

Добавлено через 8 минут
Цитата Сообщение от DreamEffectRus Посмотреть сообщение
меня интересует скорее правильное , красивое оформление списка ,как в Aimp
Скажу я тебе пример не за пол часа делается, чтобы он более менее стал похож.

Создаёшь класс
C#
1
MusicTrack : INotifyPropertyChanged
(или делаешь ViewModelBase и от него наследуешь), создаёшь для плейлиста вью модель (класс логики для плейлиста), в нём создаёшь
C#
1
ObservableCollection<MusicTrack> MusicTracks { get; private set; }
Для ListBox делаешь шаблоны: ItemTemplate, ItemContainerStyle, GroupStyle ещё что-то...

ListBox(у), его свойству ItemsSource биндишь MusicTracks...
0
Жуткая тВарЬ
394 / 329 / 135
Регистрация: 06.02.2015
Сообщений: 962
Записей в блоге: 1
12.02.2015, 21:43
Можно листбокс, а можно и тривью, все зависти от того как у ВАс будут организованны данные.
Casper-SC, уже написал, что это достаточно просто и быстро делается, конечно не пол часа (по крайне мере я не так быстро как он делаю)))) Если есть данные нормальные организованные данные и группы не многоуровневые, то лучше листбокс на пару с Экспандером
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.02.2015, 21:43
Помогаю со студенческими работами здесь

Как сделать такой TextBox, куда можно было бы вводить только определенные символы?
Как сделать такой TextBox, куда можно было бы вводитьтолько определенные символы? Например, только числа или только буквы? Спасибо

Как сделать плейлист в делфи ?
Сделал простой Медиа проигрыватель http://www.delphi.int.ru/articles/17/ но хочу добавить Плейлист, как это сделать??? И почему кнопки...

Как можно сделать такой блок есть какой нибудь модуль или чисто с шаблоном идет
Как можно сделать такой блок есть какой нибудь модуль или чисто с шаблоном идет

Как сделать плейлист для плеера?
подскажити пожалуйсто негде найти немогу

Как сделать такой Одностраничный сайт со скроллом(ну или просто такой скролл)
Как сделать такой &quot;Одностраничный&quot; сайт cо скроллом (ну или просто такой скролл) ? Увидел одностраничный сайт с переходом с помощью...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru