-4 / 4 / 0
Регистрация: 21.09.2015
Сообщений: 333
1

Ошибка при чтении файла mp3 на строке с GetTagSTR.SetValue

19.06.2019, 13:30. Показов 622. Ответов 5

Author24 — интернет-сервис помощи студентам
VB.NET
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
65
66
67
 Public Class Form1
    Dim put As String = IO.Directory.GetCurrentDirectory + "\"
    Dim i As Integer, i1(5) As Double
    Dim DD(1000, 100) As Double
    Dim Genres(), Genres1 As String
    Dim s0, s1, s2, s3, s4, s5, s6, s7, s8 As String
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Genres1 = put + "1.mp3"
GetTagSTR(Genres1)
    End Sub
    Private Function GetTagSTR(ByVal path As String) As String()
        Dim L As Integer
        Dim FS As System.IO.FileStream
        FS = System.IO.File.Open(path, IO.FileMode.Open, IO.FileAccess.Read)
        L = FS.Length
        Dim buff(L - 1) As Byte
        FS.Read(buff, 0, L)
        FS.Close()
        FS.Dispose() ' на всякий случай
        s0 = System.Text.Encoding.Default.GetChars(buff, L - 128, 3) 'TAG - заголовок метатега
        s1 = System.Text.Encoding.Default.GetChars(buff, L - 128 + 3, 30) 'название
        s2 = System.Text.Encoding.Default.GetChars(buff, L - 128 + 33, 30) 'исполнитель
        s3 = System.Text.Encoding.Default.GetChars(buff, L - 128 + 63, 30) 'альбом
        s4 = System.Text.Encoding.Default.GetChars(buff, L - 128 + 93, 4) 'год
        s5 = System.Text.Encoding.Default.GetChars(buff, L - 128 + 97, 28) 'комментарий
        s6 = System.Text.Encoding.Default.GetChars(buff, L - 128 + 125, 1) 'нулевой байт.Если номер трека присутствует, этот байт равен 0. 
        s7 = System.Text.Encoding.Default.GetChars(buff, L - 128 + 126, 1) 'Номер трека в альбоме или 0. Учитывается только если предыдущее поле=0
        s8 = System.Text.Encoding.Default.GetChars(buff, L - 128 + 127, 1) 'Индекс в списке жанров или 255
        GetTagSTR.SetValue(s0, 0)
        GetTagSTR.SetValue(s1, 1)
        GetTagSTR.SetValue(s2, 2)
        GetTagSTR.SetValue(s3, 3)
        GetTagSTR.SetValue(s4, 4)
        GetTagSTR.SetValue(s5, 5)
        GetTagSTR.SetValue(CStr(AscW(s6)), 6)
        GetTagSTR.SetValue(CStr(AscW(s7)), 7)
        GetTagSTR.SetValue(CStr(AscW(s8)), 8)
        Return GetTagSTR
    End Function
 
    Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
 
    End Sub
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.Text = "редактор MP3"
        Me.Button1.Text = "пуск"
        Genres = {"Blues", "Classic Rock", "Country", "Dance", "Disco", "Funk", "Grunge", "Hip- Hop", "Jazz", "Metal", "New Age", "Oldies", "Other", "Pop", "R&B", "Rap", "Reggae", "Rock", "Techno", "Industrial", "Alternative", "Ska", "Death Metal", "Pranks", "Soundtrack", "Euro-Techno", "Ambient", "Trip-Hop", "Vocal", "Jazz+Funk", "Fusion", "Trance", "Classical", "Instrumental", "Acid", "House", "Game", "Sound Clip", "Gospel", "Noise", "Alternative Rock", "Bass", "Punk", "Space", "Meditative", "Instrumental Pop", "Instrumental Rock", "Ethnic", "Gothic", "Darkwave", "Techno-Industrial", "Electronic", "Pop-Folk", "Eurodance", "Dream", "Southern Rock", "Comedy", "Cult", "Gangsta", "Top 40", "Christian Rap", "Pop/Funk", "Jungle", "Native US", "Cabaret", "New Wave", "Psychadelic", "Rave", "Showtunes", "Trailer", "Lo-Fi", "Tribal", "Acid Punk", "Acid Jazz", "Polka", "Retro", "Musical", "Rock & Roll", "Hard Rock", "Folk", "Folk-Rock", "National Folk", "Swing", "Fast Fusion", "Bebob", "Latin", "Revival", "Celtic", "Bluegrass", "Avantgarde", "Gothic Rock", "Progressive Rock",
           "Psychedelic Rock", "Symphonic Rock", "Slow Rock", "Big Band", "Chorus",
           "Easy Listening", "Acoustic", "Humour", "Speech", "Chanson", "Opera",
           "Chamber Music", "Sonata", "Symphony", "Booty Bass", "Primus", "Porn Groove",
           "Satire", "Slow Jam", "Club", "Tango", "Samba", "Folklore", "Ballad",
           "Power Ballad", "Rhytmic Soul", "Freestyle", "Duet", "Punk Rock", "Drum Solo",
           "Acapella", "Euro-House", "Dance Hall", "Goa", "Drum & Bass", "Club-House",
           "Hardcore", "Terror", "Indie", "BritPop", "Negerpunk", "Polsk Punk", "Beat",
           "Christian Gangsta", "Heavy Metal", "Black Metal", "Crossover", "Contemporary C",
           "Christian Rock", "Merengue", "Salsa", "Thrash Metal", "Anime", "JPop", "SynthPop"}
        ComboBox1.Items.Clear()
        For Each i As String In Genres
            ComboBox1.Items.Add(i)
        Next
 
        TextBox1.Text = s0
 
    End Sub
 
End Class
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.06.2019, 13:30
Ответы с готовыми решениями:

Ошибка при чтении файла
Читаю в скрипте файл (размер~25мб) $file = fopen($myfile,"r"); $line =...

Ошибка при чтении из файла
программа выполняется записывает и читает из файла но вылетает непонятная ошибка Вызвано...

ошибка при чтении из файла
void bin_kn(opisanie *beg_kn, int n, str_f f_kn) { FILE *f = fopen("books.bin", f_kn ==...

Ошибка при чтении файла
Здравствуйте! Я только начал работать с Java (Среда NetBeans IDE 7.3.1) и столкнулся с проблемой....

5
1972 / 1406 / 365
Регистрация: 26.06.2017
Сообщений: 3,993
19.06.2019, 17:58 2
внутри функции создайте массив, при этом, либо надо заранее определить размерность массива, либо при добавлении значений изменять размерность оператором ReDim, а возвращать через return этот массив.
Кроме того, в строке 9 нет переменной получателя массива.
1
-4 / 4 / 0
Регистрация: 21.09.2015
Сообщений: 333
19.06.2019, 20:30  [ТС] 3
ReDim GetTagSTR(8) в начало функции добавил ошибки не выдает, но и результата нет!
VB.NET
1
9 GetTagSTR(Genres1)
а как правильно сформулировать получатель массива?

Добавлено через 19 минут
ReDim GetTagSTR(8) в начало функции добавил ошибки не выдает textboxы штук 8 все выводит а как сохранить в файл редакцию опенфайлдиалогом или еще чего?
0
1972 / 1406 / 365
Регистрация: 26.06.2017
Сообщений: 3,993
19.06.2019, 20:50 4
Цитата Сообщение от kshyms Посмотреть сообщение
а как правильно сформулировать получатель массива?
VB.NET
1
Dim TagSTR(8) As String = GetTagSTR(Genres1)
TagSTR массив получатель.

Цитата Сообщение от kshyms Посмотреть сообщение
а как сохранить в файл
Что сохранить-то?
0
-4 / 4 / 0
Регистрация: 21.09.2015
Сообщений: 333
19.06.2019, 21:38  [ТС] 5
отредактированные теги в файл mp3 и еще обложку сохранить
я для этого на форму добавил button2 и PictureBox1
button2 пропишу
VB.NET
1
2
 Genres1 = put + "1.mp3"
        GetTagSTR2(Genres1)
и как из текстбоксов записать обратно в s0 и так далее
VB.NET
1
   s0 = TextBox1.Text  'TAG - заголовок метатега
и сохранить в файл MP3
0
Модератор
Эксперт .NET
4201 / 3286 / 496
Регистрация: 27.01.2014
Сообщений: 6,027
20.06.2019, 04:21 6
kshyms,

Не по теме:

задайте отдельный вопрос про сохранение, иаче в этой теме начнется каша

0
20.06.2019, 04:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.06.2019, 04:21
Помогаю со студенческими работами здесь

Ошибка при чтении файла
SEGM segment assume CS:SEGM, DS:SEGM, ES:SEGM, SS:SEGM org 100h Begin: ;open file mov ah,3dh...

Ошибка при чтении из файла
Ошибка при чтении записей из файла. Кто знает почему?? Все перепробовал:wall:

Ошибка при чтении файла
Необработанное исключение по адресу 0x0FE4172C (msvcp140d.dll) в .exe: 0xC0000005: нарушение прав...

Ошибка при чтении файла
void File_show(char *word) { char line, *str, *nashel, *pin, *element, *str1, line1, *nashel1;...

Ошибка при чтении файла
Добрый вечер. При чтении файла Unhandled Exception: System.OverflowException: Значение было...

Ошибка при чтении файла
нужна помощь я хотел сделать так, чтобы текст из файла зачитывался в буфер и после был записан в...


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

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

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