我将Spring Boot 1.5与Undertow结合使用,以服务于angular 5应用程序。该应用程序正在运行,但是出现以下问题。
我想在客户端上播放音频文件,但不能。在浏览器上,我可以确认音频文件是否存在,其状态码为206部分内容,但在需要时无法播放音频文件。当我从浏览器“ http://localhost:8080/app/assets/audio/beep-sound.mp3”直接访问文件时,我可以收听音频。
此外,当我使用angular-cli为应用程序提供服务时,音频也可以正常工作。 我是否需要在Spring Boot中进行任何配置才能启用此功能?
预先感谢
/*HTML file*
<audio #audioOption>
<source src='assets/audio/beep-sound.mp3' type="audio/mp3">
</audio>
@ViewChild('audioOption') audioPlayerRef: ElementRef;
...
this.audioPlayerRef.nativeElement.play();
答案 0 :(得分:0)
我找到了解决问题的方法。这就是春季靴子所需要的。
@Configuration
@EnableConfigurationProperties({ ResourceProperties.class })
public class StaticResourcesConfiguration extends WebMvcConfigurerAdapter {
static final String[] STATIC_RESOURCES = new String[] {
"/**/*.css",
"/**/*.html",
"/**/*.js",
"/**/*.json",
"/**/*.bmp",
"/**/*.jpeg",
"/**/*.jpg",
"/**/*.png",
"/**/*.ttf",
"/**/*.eot",
"/**/*.svg",
"/**/*.woff",
"/**/*.woff2",
"/**/*.mp3"
};
@Autowired
private ResourceProperties resourceProperties = new ResourceProperties();
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler(STATIC_RESOURCES).addResourceLocations(resourceProperties.getStaticLocations());
}
}