后端服务器需要处理接收到的位置信息,并返回对应的音频URL。
1. 环境准备
首先,确保你已经安装了 Flask 和 Pillow 库。如果没有安装,可以使用以下命令进行安装:
pip install flask pillow
2. 创建 Flask 应用
创建Flask应用接收客户端发送的位置信息,查找对应的音频URL,并返回给客户端。
目录结构
/my_flask_app
├── app.py
├── audio_files
│ ├── location1.mp3
│ ├── location2.mp3
│ └── ...
└── location_audio_mapping.py
代码实现
location_audio_mapping.py
这是一个简单的字典,用于根据位置坐标返回相应的音频URL。
# location_audio_mapping.py
location_audio_mapping = {
(40.7128, -74.0060): "https://your-server.com/audio/location1.mp3", # New York
(34.0522, -118.2437): "https://your-server.com/audio/location2.mp3", # Los Angeles
# 添加更多位置和对应的音频URL
}
app.py
这是 Flask 应用的主要文件,包含处理请求和返回响应的逻辑。
# app.py
from flask import Flask, request, jsonify
from location_audio_mapping.py import location_audio_mapping
app = Flask(__name__)
@app.route('/getAudio', methods=['POST'])
def get_audio():
data = request.json
latitude = data.get('latitude')
longitude = data.get('longitude')
if latitude is None or longitude is None:
return jsonify({'error': 'Missing latitude or longitude'}), 400
# 查找对应的音频URL
audio_url = location_audio_mapping.get((latitude, longitude))
if audio_url is None:
return jsonify({'error': 'No audio found for the given location'}), 404
return jsonify({'audioUrl': audio_url})
if __name__ == '__main__':
app.run(debug=True, host='0.0.0.0', port=5000)
3. 运行服务器
在终端中,导航到项目目录 /my_flask_app
,运行以下命令启动 Flask 服务器:
python app.py
服务器将监听 http://0.0.0.0:5000
,等待客户端的请求。
4. 客户端请求示例
客户端可以通过发送 POST 请求来获取对应位置的音频URL。
curl -X POST http://localhost:5000/getAudio -H "Content-Type: application/json" -d '{"latitude": 40.7128, "longitude": -74.0060}'
服务器将返回相应的音频URL,例如:
{
"audioUrl": "https://your-server.com/audio/location1.mp3"
}