Создание mp3 проигрывателя В Контакте

Темы только для ознакомления. Уроки по использованию старой версии ВКонтакте API и устаревших методов.
Ответить
bullet
Сообщения: 3
Зарегистрирован: 09 дек 2009, 19:09

Создание mp3 проигрывателя В Контакте

Сообщение bullet »

оздаём простенький проигрыватель, который сможет воспроизводить треки из "моих аудиозаписей".

1) Создаём папку с названием aclass и кидаем туда два файла DataProvider.as и MD5.as. В DataProvider.as вставляем ID приложения и секрет приложения (оба указаны на странице приложения)
Вот они http://depositfiles.com/files/iut73nlxk

2) Создаём новый документ Action Script 2.0.

3) Создаём два кадра. В первом кадре - текстовое поле с Instance name "wer". Во втором - ComboBox с Instance name "pole" кнопка с именем "playBtn" и два текстовых поля "tf1_txt" и "tf2_txt". Кнопка состоит из 3 кадров, к каждому из которых приписано stop(); (в первом кадре значок play, во втором - pause, в третьем опять play).
У меня второй кадр выглядит так:

Изображение

4) В первом кадре пишем:

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

 stop(); import aclass.DataProvider; //импортируем класс DataProvider, чтобы осуществлять соединение с сервером wer.selectable = false; //запрет на выделение текстового поля if (is_app_user == 0) { //проверяем установил ли пользователь приложение к себе на страницу - параметр is_app_user передаётся в флешку автоматически при запуске приложения на сервере. принимает два значения: "0" и "1"wer.text="Для запуска приложения необходимо установить его себе на страницу и открыть доступ к аудиозаписям.";}else{  dataProvider = new DataProvider(); //если приложение установлено, то создаём новый экземпляр объекта DataProvider для доступа к различным методам  dataProvider.getAudios(function(success:Boolean) { //выполняем запрос getAudios (подробно http://vkontakte.ru/pages.php?o=-1&p=getAudios)  if (success) { //если коннект осуществлён   if(this.firstChild.nodeName != 'response'){ //получаем ответ в формате xml. Если первый тег НЕ response, то..    wer.text="Для запуска приложения необходимо открыть доступ к аудиозаписям в настройках приложения."; //выводим в текстовое поле   }else{    _root.play(); //если всё ok, то переходим на следующий кадр   }  } });}; 
5) Во втором кадре пишем:

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

 stop(); import aclass.DataProvider; song=new Sound(); //создаём новый экземпляр объекта Sound для последующей работы со звуком tf1_txt.selectable = false;tf2_txt.selectable = false; var audio_artist: String; //тут будем хранить исполнителяvar audio_title: String; //тут название песниvar audio_url: String; //адресvar dataProvider = new DataProvider(); dataProvider.getAudios(function(success:Boolean) { if (success) {if (this.firstChild.nodeName=='response') {if (this.firstChild.hasChildNodes()) { //если первый тег response имеет внутри себя теги for (var aNode:XMLNode = this.firstChild.firstChild; aNode != null; aNode=aNode.nextSibling) { //листаем счётчиком все теги <audio> if (this.firstChild.firstChild.hasChildNodes()) {  for (var bNode:XMLNode = aNode.firstChild; bNode != null; bNode=bNode.nextSibling) { //листаем счётчиком теги внутри <audio>    switch (bNode.nodeName) {       case 'artist': audio_artist = bNode.firstChild.nodeValue;break;      case 'title': audio_title = bNode.firstChild.nodeValue;break;             case 'url': audio_url = bNode.firstChild.nodeValue;break; //присваиваем этим переменным данные из xml   }  }  pole.addItem({data:audio_url, label:audio_artist + " - " + audio_title}); //добавляем в ComboBox подряд элементы } }}else pole.text="Error occured: "+this.firstChild.firstChild.nodeValue; //выводим в случае ошибки}else pole.text="сonnection failed."; //выводим в случае ошибки};}); var cbListener:Object = new Object();pole.addEventListener("change", cbListener); //создаём слушатель на ComboBox, реагирующий на change cbListener.change = function (evt_obj:Object) { //выполняется при выборе трекаsong.loadSound(evt_obj.target.selectedItem.data, true);song.stop();playBtn.gotoAndStop(1); //загружаем песнюtf1_txt.htmlText = '<b>'+evt_obj.target.selectedItem.label+'</b>'; //выводим название песниSystem.setClipboard(evt_obj.target.selectedItem.data); //копируем адрес песни в буфер обмена :)} playBtn.onRelease = function () //обрабатываем кнопку play{if(playBtn._currentframe == 1){ song.start(); playBtn.gotoAndStop(2); }else{if(playBtn._currentframe == 3){       song.start(pause_pos/1000); //стартуем с паузы playBtn.gotoAndStop(2);}else{ if(playBtn._currentframe == 2){  pause_pos=song.position; //создаём паузу           song.stop();  playBtn.gotoAndStop(3); } }}} song.onSoundComplete = function () { //останавливаем песню по окончанию проигрыванияsong.stop();playBtn.gotoAndStop(1);}onEnterFrame = function (){   if (song.position < song.duration)    {       loadedPct = Math.round(100 * song.getBytesLoaded() / song.getBytesTotal());       tf2_txt.text = loadedPct + "% загружено. "; //выводим статус загрузки   }} 
Исходник: http://depositfiles.com/files/vk3lm8rsj

Автор: Granduca.
Аватара пользователя
Deniska
Сообщения: 653
Зарегистрирован: 30 окт 2009, 00:07

Re: Создание mp3 проигрывателя В Контакте

Сообщение Deniska »

незнаю у меня так и висит Разрешите доступ к аудиозаписям хотя я и разрешил (думаю эта проблема не только у меня)
bullet
Сообщения: 3
Зарегистрирован: 09 дек 2009, 19:09

Re: Создание mp3 проигрывателя В Контакте

Сообщение bullet »

да у меня тоже такая проблема...( но там откуда я это брал все пишут что работает!
Skell
Сообщения: 1
Зарегистрирован: 19 дек 2010, 19:24

Re: Создание mp3 проигрывателя В Контакте

Сообщение Skell »

перезалейте файлы которые с депозита скачать не могу пишет что файлы удалёны
TeMgAcH
Сообщения: 4
Зарегистрирован: 13 янв 2011, 00:10

Re: Создание mp3 проигрывателя В Контакте

Сообщение TeMgAcH »

Для тех у кого плеер не работает я немного переделал его)

Качать отсюда:http://depositfiles.com/files/1b7cy1amg

Вам остаётся только вписать id и код своего приложения в файле DataProvider.as)
Ответить