我正在使用phonegap为Android创建音乐/声音播放器应用程序。我正在使用html5 css和angular.js。
我在网络服务器上的内容管理系统中拥有声音的所有细节,所以理想情况下我想在应用程序中使用php从CMS检索信息,然后从CMS内容创建一个json文件,以便有角度可以在客户端使用它。 所以我开始试图让PHP文件在应用程序内工作,但我遇到了麻烦。 我已经将json字符串硬编码到php文件中以进行测试(而不是使用SQL语句从数据库中检索信息)。我正在使用angular的$ http方法从php文件中获取json数据“echod”。
这在我的计算机上进行测试时工作得很完美,但是当我在使用phonegap构建后在手机上测试应用程序时,它没有从php文件中获取json数据。
我已经读过你可以在phonegap中使用php。但我对手机带和角度都是新手,所以也许有一些明显我做错了。
在设备上使用本地数据库也更好吗?
sounds.php:
from __future__ import print_function
import numpy as np
for m in np.arange(0, 4, 1):
for n in np.arange(1, 4, 1):
coef = 2*m/n
print(coef, end=" ")
print()
controller.js:
<?php
header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json; charset=UTF-8");
$output = '{"sounds": [{"title": "Alarm", "soundType": "Sound Effect", "index": "0", "mp3": "sounds/0001_alarm_high_squeak.mp3"},';
$output .= '{"title": "Alarm 2", "soundType": "Sound Effect", "index": "1", "mp3": "sounds/0001_alarm_high_squeak.mp3"},';
$output .= '{"title": "Alarm 2", "soundType": "Sound Effect", "index": "1", "mp3": "sounds/0001_alarm_high_squeak.mp3"}]}';
echo $output;
?>
HTML:
//create a module using the Angular objects module() method
var myApp = angular.module("myModule", []);
myApp.factory("soundsFactory", function($http){
return {
getSounds: function(callback){
$http.get('http://www.example.com/iwp/my_app_php/sounds.php').success(callback);
}
};
});
//create and register our controller with this module
myApp.controller("workshopController", function($scope, soundsFactory){
/*var sounds = [{title: 'Alarm', soundType: 'Sound Effect', index: '0', mp3: 'sounds/0001_alarm_high_squeak.mp3'},
{title: 'Alarm 2', soundType: 'Sound Effect', index: '1', mp3: 'sounds/0002_alarm_high.mp3'},
{title: 'Mumble', soundType: 'Voice', index: '2', mp3: 'sounds/0003_alarm_low.mp3'}];
*/
var player = document.getElementById('audio_player');
$scope.player = player;
soundsFactory.getSounds(function(results){
$scope.sounds = results.sounds;
//alert($scope.sounds);
});
$scope.playmusic = function($index){
var mp3 = $scope.sounds[$index].mp3;
$scope.selectedIndex = $index;
$scope.player.setAttribute('src', mp3);
//load the player after inserting the new mp3 file
$scope.player.load();
$scope.player.play();
}
});