Создать приложение с Api vkontakte.Создание mp3 проигрывателя В Контакте - Другое

Я-Вконтакте.at.ua » Для Вконтакте.ру » Другое

Создать приложение с Api vkontakte.Создание mp3 проигрывателя В Контакте

Социальная сеть «Вконтакте» с каждым днем становится все более и более популярной. Помимо информационной направленности у нее появляется ярко выраженная развлекательная. Большую роль здесь играют специально разработанные приложения для «Вконтакте» .
Эти забавные программы числом около семи тысяч занимают особое место в структуре сайта. Каждый из пользователей может подобрать приложение для «Вконтакте» , подходящее именно для него, и разместить его у себя на странице.
Существуют следующие типы приложений для «Вконтакте» :
общение —
игры —
анимация —
тесты и опросы

Как создать приложение для сайта вконтакте?
Всё ,не так сложно.
Пример простого flash приложения для сайта «вконтакте» вы можете посмотреть здесь http://vkontakte.ru/app743131

Приложение использует ВКонтакте API. Выводит имя и фамилию пользователя, аватар и дату рождения.

Бесплатно скачать исходники этого flash приложения можно здесь.

Приложение написано на AS3 (Action Script 3) в среде Adobe Flash CS4. В более ранних версиях исходник может не открыться.

Это флеш приложение не использует дополнительных классов для взаимодействия с api.vkontakte.ru. Для создания более сложных приложений, вы можете использовать дополнительные классы для работы с сайтом в контакте, например VKapp.as или DataProvider.as.

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

1) Создаём папку с названием aclass и кидаем туда два файла DataProvider.as и MD5.as. В DataProvider.as вставляем ID приложения и секрет приложения (оба указаны на странице приложения) Вот это скачайте вот они Aclass.rar

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

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

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

Code

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) Во втором кадре пишем:

Code

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); //копируем адрес песни в буфер обмена <img src="http://s30.ucoz.net/sm/15/smile.gif" border="0" align="absmiddle" alt="smile">
}

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 + "% загружено. "; //выводим статус загрузки
  }
}

Просмотреть приложение
Вот чего можно добиться
Исходник: Audios.rar ( 175.51к )


Также смотрите :
Vkbot для Вконтакте.ру (вкбот) Последняя версия (1.4.3) и более ранние
Полезные ссылки для администраторов групп Вконтакте
Что делать если не открывается сайт Вконтакте
Категория: Другое |