Member 10230348 Ответов: 2

Как я должен воспроизводить mp3-файл в соответствии с выбором строки gridview в ASP.NET с#


ниже приведен мой код plz помогите мне решить эту проблему

Что я уже пробовал:

GridViewRow gvRow = (GridViewRow)(sender as Control).Parent.Parent;
        int index = gvRow.RowIndex;
        int TID = Convert.ToInt32(gvTrainStatus.DataKeys[index]["TID"]);
        Session["TID"] = TID;

        //if (TID = Session["TID"])
        //{
            DataTable dt = new DataTable();
            SqlConnection con = new SqlConnection(CS);
            con.Open();
            SqlCommand cmd = new SqlCommand("SPShowData", con);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@TID", Session["TID"]);
            SqlDataAdapter sqlDa = new SqlDataAdapter(cmd);
            sqlDa.Fill(dt);
            if (dt.Rows.Count > 0)
            {



            //SoundPlayer sd = new SoundPlayer();
            //lblTrainNo.Text = dt.Rows[0]["TrainNo"].ToString();
      

            SoundPlayer player = new SoundPlayer();
            player.SoundLocation = AppDomain.CurrentDomain.BaseDirectory + "Sound/0.mp3";
            player.Play();

2 Ответов

Рейтинг:
9

Richard Deeming

Вы отметили этот вопрос как ASP.NET-да. Это означает, что ваш код запущен на сервере. Аудиофайл будет воспроизводиться на сервере, где никто - за исключением, может быть, некоторых ошеломленных сисадминов - никогда не услышит его.

Может быть появиться для работы при отладке кода в Visual Studio. Но это только потому, что в этом конкретном сценарии сервер и клиент-это один и тот же компьютер.

Как только вы развернетесь на реальном сервере, ваши пользователи будут жаловаться, что звук не воспроизводится. (И ваши сисадмины будут жаловаться на какофонию, исходящую от вашего сервера.)

Проигрывать звук на клиенте, вам нужно использовать HTML <audio> элемент, а также некоторые Javascript.
<audio>: встроенный Аудиоэлемент - HTML | MDN[^]


Рейтинг:
0

Jochen Arndt

Вы пытаетесь воспроизвести MP3-файл с помощью SoundPlayer класс:

SoundPlayer player = new SoundPlayer();
player.SoundLocation = AppDomain.CurrentDomain.BaseDirectory + "Sound/0.mp3";
Но ... Класс SoundPlayer (System.Средства массовой информации)[^] может воспроизводить только WAV-файлы:
Цитата:
Управляет воспроизведением звука из файла .wav.

Вместо этого используйте медиаплеер и / или найдите в интернете что-то вроде "c# play mp3", которое дает множество примеров.


Member 10230348

Я пытался, но ничего не получал

Jochen Arndt

А что вы пробовали?

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

Member 10230348

я получаю эту ошибку
Файл, расположенный по адресу E:\Railways\App_Code\0.mp3 не является допустимым волновым файлом.

Jochen Arndt

Вы читали мой ответ?

Но класс SoundPlayer может воспроизводить только WAV файлы

SoundPlayer не поддерживает Воспроизведение MP3-файлов, о чем он тоже сообщает вам в сообщении об ошибке.

Member 10230348

да спасибо но мне нужна еще 1 помощь от вас

Member 10230348

как добавить несколько волновых файлов в соответствии с данными в базе данных

Jochen Arndt

Вы имеете в виду добавление к одному набору записей?

База данных обычно не предназначена для использования какого-либо массива в наборе записей. У вас будет либо несколько полей (например, для определенных типов звуков), либо ссылка на другую таблицу, содержащую имена файлов.

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

Member 10230348

у меня есть от 1 до 10 записанных файлов и я хочу расположить их в соответствии с выбором gridview файлы должны быть объединены на выбор как 234 так что звук будет похож на 234

Jochen Arndt

Речь идет о дизайне базы данных. Как уже было сказано, "классическая" база данных будет использовать другую таблицу с именами.

Это, наконец, до вас, чтобы решить.

Member 10230348

нет волновые файлы должны быть aaded в моей папке я хочу получить запись из БД и в соответствии с БД она будет перемещаться в волновые файлы и проверять совпадение обоих и в соответствии с совпадением звук будет течь

Jochen Arndt

Все еще неясно для меня, но также и проблема проектирования базы данных.

Если у вас есть общее количество 10 файлов для всех наборов записей, создайте таблицу для этих 10 файлов и имейте поле в вашей таблице сетки, которое содержит индексы, которые будут воспроизводиться (например, хранение упакованных в длинное целое число) или любое другое значение / метод, который определяет, что будет воспроизводиться.