Не могу сделать функциональность пианино.

То что касается флеша, но не касается ВКонтакте API. Например проблемы при создании прыгающего мячика.
Ответить
komikit
Сообщения: 8
Зарегистрирован: 10 июл 2011, 22:45

Не могу сделать функциональность пианино.

Сообщение komikit »

Не могу сделать функциональность пианино.
Идея такова: есть три кнопки Запись, Стоп, Play.
Кликаю на Запись, жму\отпускаю клавишу f, в соответствии с мелодией
(я тестировал на мелодии из фильма Охотники за привидениями),
потом жму Стоп, мелодия записалась.
Дальше жму Play, то, что я записал, воспроизводится файлом 1.mp3 (щелчок).
Всё работает, но проблема в том, что мелодии не получается.
Допустим есть wave-файл, и я его аудио конвертером перегоню в midi, и будет мелодия.
А у меня никакой мелодии не выходит.

IDE: Adobe Flash Professional CS5
Язык: AS3

Код: Выделить всё

import flash.media.ID3Info;import flash.media.Sound;import flash.media.SoundLoaderContext; /* Mouse Click EventClicking on the specified symbol instance executes a function in which you can add your own custom code. Instructions:1. Add your custom code on a new line after the line that says "// Start your custom code" below.The code will execute when the symbol instance is clicked.*/var start_pos:Array = new Array();var end_pos:Array = new Array();var q:Number = 0;var id:Number;rec_btn.addEventListener(MouseEvent.CLICK, rec_btn_click);stop_btn.addEventListener(MouseEvent.CLICK, stop_btn_click);play_btn.addEventListener(MouseEvent.CLICK, play_btn_click); function rec_btn_click(event:MouseEvent):void{    id = setInterval(function() {q++},1);    stage.addEventListener(KeyboardEvent.KEY_DOWN, fl_KeyboardDownHandler);    stage.addEventListener(KeyboardEvent.KEY_UP, fl_KeyboardUpHandler); }function stop_btn_click(event:MouseEvent):void{    clearInterval(id);    stage.removeEventListener(KeyboardEvent.KEY_DOWN, fl_KeyboardDownHandler);    stage.removeEventListener(KeyboardEvent.KEY_UP, fl_KeyboardUpHandler);}function play_btn_click(event:MouseEvent):void{    q = 0;    var q1 = 0;    id = setInterval(function() {     q++;     if (q==start_pos[q1]){snd.play();q1++;}     },1);} function fl_KeyboardDownHandler(event:KeyboardEvent):void{    //trace("Key Code Pressed: " + event.keyCode);    //клавиша f    if (event.keyCode == 70)    {        trace(q);        start_pos.push(q);        snd.play();    }}function fl_KeyboardUpHandler(event:KeyboardEvent):void{    //trace("Key Code Pressed: " + event.keyCode);    if (event.keyCode == 70)    {        trace(q);        end_pos.push(q);    }} var snd:Sound = new Sound();var req:URLRequest = new URLRequest("1.mp3");var context:SoundLoaderContext = new SoundLoaderContext(3000,false); snd.load(req, context);snd.play();snd.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);function errorHandler(errorEvent:IOErrorEvent):void{    trace("The sound could not be loaded: " + errorEvent.text);}
Во вложении 1.txt переименуйте в 1.mp3
http://www.flasher.ru/forum/attachment. ... 1312063884
komikit
Сообщения: 8
Зарегистрирован: 10 июл 2011, 22:45

Re: Не могу сделать функциональность пианино.

Сообщение komikit »

Может кто-нибудь поможет?
Evgesha
ЗАБАНЕН!
Сообщения: 279
Зарегистрирован: 07 июн 2011, 20:36

Re: Не могу сделать функциональность пианино.

Сообщение Evgesha »

Я чёто вообще не вник, чё кого=) Объяснил не внушающи
komikit
Сообщения: 8
Зарегистрирован: 10 июл 2011, 22:45

Re: Не могу сделать функциональность пианино.

Сообщение komikit »

Что должно получиться?
К примеру у вас есть mp3 файл. Допустим песня из охотников за привидениями.
Вы кодируете её в midi-файл, получается мелодия (как мелодия для мобильников с полифонией).
Вот мне и нужно на клавиатуре наиграть такую мелодию (как в звуковом редакторе fruity loop есть такая возможность поиграть на пианино)
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Не могу сделать функциональность пианино.

Сообщение Александр »

komikit писал(а):Вы кодируете её в midi-файл
Как? Твоё приложение должно из mp3 делать midi?
В приложении сделай несколько кнопок, типа клавиш пианино. Импортируй mp3 звуки. К каждой кнопке привяжи свой звук.
hideki-kun
Сообщения: 35
Зарегистрирован: 01 сен 2011, 14:03

Re: Не могу сделать функциональность пианино.

Сообщение hideki-kun »

Код: Выделить всё

var req:URLRequest = new URLRequest("1.mp3");
ШТОУ ТЫ СОБРАЛСЯ ПЕРЕГОНЯТЬ В ВЭЙВ И В МИДИ?
Изображение
Ответить