Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 31.07.2011, 03:13
zemozes вне форума Посмотреть профиль Отправить личное сообщение для zemozes Найти все сообщения от zemozes
  № 1  
Ответить с цитированием
zemozes
 
Аватар для zemozes

Регистрация: Jul 2010
Сообщений: 99
По умолчанию Не могу сделать функциональность пианино

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

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

Код AS3:
import flash.media.ID3Info;
import flash.media.Sound;
import flash.media.SoundLoaderContext;
 
/* Mouse Click Event
Clicking 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
Вложения
Тип файла: txt 1.txt (2.6 Кб, 100 просмотров)

Старый 13.08.2011, 16:16
zemozes вне форума Посмотреть профиль Отправить личное сообщение для zemozes Найти все сообщения от zemozes
  № 2  
Ответить с цитированием
zemozes
 
Аватар для zemozes

Регистрация: Jul 2010
Сообщений: 99
Может кто-нибудь мне поможет?

Старый 13.08.2011, 16:44
mikhailk вне форума Посмотреть профиль Отправить личное сообщение для mikhailk Найти все сообщения от mikhailk
  № 3  
Ответить с цитированием
mikhailk
 
Аватар для mikhailk

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
Я думаю, никто не понял, что нужно.
Что значит "мелодии не получается" и что вообще должно получиться?

Старый 13.08.2011, 19:03
zemozes вне форума Посмотреть профиль Отправить личное сообщение для zemozes Найти все сообщения от zemozes
  № 4  
Ответить с цитированием
zemozes
 
Аватар для zemozes

Регистрация: Jul 2010
Сообщений: 99
Цитата:
Сообщение от mikhailk Посмотреть сообщение
Я думаю, никто не понял, что нужно.
Что значит "мелодии не получается" и что вообще должно получиться?
Что должно получиться?
К примеру у вас есть mp3 файл. Допустим песня из охотников за привидениями.
Вы кодируете её в midi-файл, получается мелодия (как мелодия для мобильников с полифонией).
Вот мне и нужно на клавиатуре наиграть такую мелодию (как в звуковом редакторе fruity loop есть такая возможность поиграть на пианино)

Старый 13.08.2011, 19:40
saikspaik вне форума Посмотреть профиль Отправить личное сообщение для saikspaik Найти все сообщения от saikspaik
  № 5  
Ответить с цитированием
saikspaik

Регистрация: Nov 2009
Сообщений: 300
Ты хочешь ее просто наиграть, или как-то сохранить еще?
ИМХО, взял бы то же фрутилупс и не маялся.

Старый 13.08.2011, 20:38
mikhailk вне форума Посмотреть профиль Отправить личное сообщение для mikhailk Найти все сообщения от mikhailk
  № 6  
Ответить с цитированием
mikhailk
 
Аватар для mikhailk

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
Цитата:
Вот мне и нужно на клавиатуре наиграть такую мелодию (как в звуковом редакторе fruity loop есть такая возможность поиграть на пианино)
В коде в заглавном постинге я этого не увидел...
Но не суть.

Вот это хотите сделать?
http://www.ivanpobeda.com/post111034042/

Создать новую тему Ответ Часовой пояс GMT +4, время: 01:58.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 01:58.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.